Sim*_*ell 5 amazon-web-services aws-amplify aws-cdk
我正在通过 aws-cdk 创建一个 aws-amplify 应用程序,除了它不会自动启动构建之外,一切正常。如果我执行 git commit (我已启用持续部署),它将构建并运行得很好。但是在带有 cdk 部署的新 aws 帐户上,我必须手动启动第一次提交...
小智 6
我在部署放大托管应用程序时也遇到了这个问题。
在浏览 Amplify 的 AWS CLI 文档后,我找到了start-job命令。此命令允许您为特定分支启动放大作业。
然后,您可以创建AwsCustomResource一个 SDK 来调用 start-job。
这就是我最终得到的结果。
const build_trigger = new customResource.AwsCustomResource(this, 'triggerAppBuild', {
policy: customResource.AwsCustomResourcePolicy.fromSdkCalls({
resources: customResource.AwsCustomResourcePolicy.ANY_RESOURCE
}),
onCreate: {
service: 'Amplify',
action: 'startJob',
physicalResourceId: customResource.PhysicalResourceId.of('app-build-trigger'),
parameters: {
appId: amplifyApp.appId,
branchName: master.branchName,
jobType: 'RELEASE',
jobReason: 'Auto Start build',
}
},
});
Run Code Online (Sandbox Code Playgroud)
请注意,您应该将amplifyApp.apiId和替换master.branchName为您自己的应用程序 ID 和分支名称。我正在使用 amplify-alpha,因此您可能需要通过其他方式获取应用程序 ID 和分支名称。
Amplify 应用程序构建由推送事件触发。使用 CDK自定义资源或其更简单的触发器在 CDK 堆栈创建期间生成推送事件。
例如,对于 github 存储库,您的Trigger构造的 lambda 将调用 Github webhook 测试 API,这将触发对当前存储库的最新推送的挂钩。自定义资源和触发器都可以配置为仅在堆栈创建时运行。请记住为您的 lambda 提供任何必要的存储库凭证(例如通过秘密设置环境变量)。
| 归档时间: |
|
| 查看次数: |
1426 次 |
| 最近记录: |