我正在尝试为将AWS Lambda和AWS CDK用于基础架构的dotnet应用程序设置CI / CD管道。源码在github上,我们有一个Jenkins管道来运行测试并发布工件。我想使用工件并进行部署(或更好地使用代码部署)
我可以使用CodePipeline运行cdk deploy
吗?
如何使用CodeDeploy进行dotnet测试和dotnet发布?然后将工件传递给CodePipeline
答案 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具有三个阶段
对于您的用例,github是源。 CodeBuild可用于构建/测试您的应用程序。然后使用CodeDeploy将构建工件部署到您的环境中。
要使用codeBuild,您必须提供构建规范参考。 单击链接以获取更多信息,例如如何在代码构建中进行操作。 https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html