【发布时间】:2019-02-22 11:55:28
【问题描述】:
我想构建一个代码管道,它将从 github 获取代码(java)构建一个 jar 文件并将其部署到 aws lamda(或将 jar 存储在特定的 S3 存储桶中)。我只想使用AWS平台提供的工具。
如果我只使用 Codebuild,我可以从 github 代码构建 jar 并将其存储到 S3(https://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html),并且我正在使用部署程序 lamda 函数将代码部署到我的服务 lamda。每当 S3 存储桶部署程序发生任何变化时,都会触发 lamda。
缺点:这个问题是我必须在每次将更改提交到 github 后手动运行 codebuild。我希望此代码构建能够自动检测来自 github 的更改。
为了解决上述问题,我制作了一个代码管道,它使用 github webhooks 检测代码更改,但这里它创建的是 zip 文件而不是 jar
所以我真正尝试的是:
GitHub(changes)--->codebuild-->将jar文件存储到具有特定名称的特定S3存储桶或部署到lambda
buildspec.yml
version: 0.2
phases:
build:
commands:
- echo Build started on `date`
- mvn test
post_build:
commands:
- echo Build completed on `date`
- mvn package
artifacts:
files:
- target/testfunction-1.0.0-jar-with-dependencies.jar
【问题讨论】:
-
只要你可以使用代码部署...流程将是 github >>> 代码管道 >> 代码构建 >> 代码部署(lambda 应用程序)
-
你到底想要什么?
-
我想从 java 代码 github 构建一个 jar 文件并将该 jar 文件存储到具有指定名称的指定 S3 存储桶中。所有这些过程都应该是自动的,即当 github codebuild 中的代码发生任何变化时,应该自动检测并构建 jar 并将其存储到 S3。 @varnit
标签: amazon-web-services aws-lambda aws-code-deploy aws-codepipeline aws-codebuild