部署到Adobe I/O Runtime
asset compute项目及其包含的工作程序必须通过Adobe I/OCLI部署到Adobe I/O Runtime,以供AEM as a Cloud Service使用。
在部署到Adobe I/O Runtime以供AEM as a Cloud Service Author服务使用时,只需要两个环境变量:
AIO_runtime_namespace
指向App Builder Workspace部署到AIO_runtime_auth
是App Builder工作区的身份验证凭据
在调用Asset compute工作进程时,.env
文件中定义的其他标准变量由AEM as a Cloud Service隐式提供。
开发工作区
由于此项目是使用aio app init
通过Development
工作区生成的,因此AIO_runtime_namespace
自动设置为81368-wkndaemassetcompute-development
,并在我们的本地.env
文件中具有匹配的AIO_runtime_auth
。 如果用于发出部署命令的目录中存在一个.env
文件,则使用其值,除非通过操作系统级别变量导出来取代这些值,这就是暂存和生产工作区的目标。
使用.env变量部署
要部署到项目.env
文件中定义的工作区,请执行以下操作:
- 在Asset compute项目的根目录中打开命令行
- 执行命令
aio app deploy
- 执行命令
aio app get-url
以获取工作程序URL,以便在AEM as a Cloud Service处理配置文件中用于引用此自定义Asset compute工作程序。 如果项目包含多个工作进程,则会列出每个工作进程的独立URL。
如果本地开发环境和AEM as a Cloud Service开发环境使用单独的Asset compute部署,则可以采用与暂存和生产部署相同的方式管理到AEM as a Cloud Service开发环境的部署。
暂存和生产工作区 stage-and-production
部署到暂存和生产工作区通常由您选择的CI/CD系统完成。 asset compute项目必须离散地部署到每个Workspace(暂存环境,然后是生产环境)。
设置true环境变量将覆盖.env
中同名变量的值。
使用导出变量部署
通常由CI/CD系统自动执行,用于部署到暂存和生产环境的常规方法是:
- 确保已安装Adobe I/OCLI npm模块和Asset compute插件
- 从Git中签出要部署的Asset compute项目
- 使用与目标工作区(“暂存”或“生产”)对应的值设置环境变量
- 两个必需变量是
AIO_runtime_namespace
和AIO_runtime_auth
,通过Workspace的 全部下载 功能在Adobe I/ODeveloper Console中为每个工作区获取。
- 两个必需变量是
可通过从命令行发出导出命令来设置这些键的值:
$ export AIO_runtime_namespace=81368-wkndaemassetcompute-stage
$ export AIO_runtime_auth=27100f9f-2676-4cce-b73d-b3fb6bac47d1:0tDu307W6MboQf5VWB1BAK0RHp8xWqSy1CQc3lKe7f63o3aNtAu0Y3nAmN56502W
如果您的Asset compute工作人员需要任何其他变量(如云存储中的变量),则也应将这些变量作为环境变量导出。
- 在为要部署到的目标工作区设置所有环境变量后,执行deploy命令:
aio app deploy
- AEM as a Cloud Service处理配置文件引用的工作程序URL也可通过以下方式使用:
aio app get-url
。
如果Asset compute项目版本发生更改,则工作进程URL也会发生更改以反映新版本,并且需要在“处理配置文件”中更新该URL。
Workspace API配置 workspace-api-provisioning
当在Adobe I/O中设置App Builder项目以支持本地开发时,已创建新的开发工作区,并已将 Asset compute、I/O事件 和 I/O事件管理API 添加到该工作区。
Asset compute、I/O事件 和 I/O事件管理API API仅显式添加到用于本地开发的工作区。 与AEM as a Cloud Service环境集成(独占)的工作区 不 需要明确添加这些API,因为API自然可供AEM as a Cloud Service使用。