使用AWS CodeBuild / Deploy / Pipeline为AWS CDK应用程序设置CI / CD

时间:2019-09-29 06:50:37

标签: continuous-integration aws-code-deploy aws-codepipeline continuous-delivery aws-cdk

我正在尝试为将AWS Lambda和AWS CDK用于基础架构的dotnet应用程序设置CI / CD管道。源码在github上,我们有一个Jenkins管道来运行测试并发布工件。我想使用工件并进行部署(或更好地使用代码部署)

我可以使用CodePipeline运行cdk deploy吗? 如何使用CodeDeploy进行dotnet测试和dotnet发布?然后将工件传递给CodePipeline

3 个答案:

答案 0 :(得分:2)

CodePipeline是一种工作流服务,它本身不能执行任何命令。您需要的是诸如CodeBuild和/或Jenkins之类的构建/测试服务,作为CodePipeline的一部分。在此处将运行“ cdk deploy”,“ dotnet test”和“ dotnet publish”等命令。

一旦在构建环境中准备好了部署工件(使用上述命令),下一个CodePipeline阶段就可以使用它们进行部署-这将使用诸如CodeDeploy之类的服务。

CodePipeline只是在诸如CodeCommit(源),CodeBuild(构建/测试)和CodeDeploy(部署)之类的构建块服务之间协调工作流程。还有更多integrations可用。

希望这会有所帮助。

答案 1 :(得分:0)

在此AWS CDK主页上有AWS的示例。 https://docs.aws.amazon.com/cdk/latest/guide/codepipeline_example.html

使用代码提交对此的有效实现如下,它具有屏幕截图和github链接。

https://nikhilbhojcloud.blogspot.com/2019/08/code-pipeline-using-aws-cdk-for-lambda.html

除此AWS CDK团队外,他还在为CDK应用程序构建CI / CD。 https://github.com/aws/aws-cdk/tree/master/packages/%40aws-cdk/app-delivery

答案 2 :(得分:0)

您应该使用CodeBuild而不是CodeDeploy进行dotnet测试。 CodePipeline具有三个阶段

  1. 来源
  2. CodeBuild
  3. CodeDeploy

对于您的用例,github是源。 CodeBuild可用于构建/测试您的应用程序。然后使用CodeDeploy将构建工件部署到您的环境中。

要使用codeBuild,您必须提供构建规范参考。 单击链接以获取更多信息,例如如何在代码构建中进行操作。 https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html