Jenkins构建CloudFormation Stack然后通过CodeDeploy插件

时间:2017-06-11 01:28:14

标签: git amazon-web-services jenkins amazon-cloudformation aws-code-deploy

我正在使用Jenkins和CloudFormation以及CodeDeploy插件。

当我的git repo有新的提交时,我可以使用jenkins构建CloudFormation堆栈。

我也可以通过CodeDeploy插件将代码部署到自动扩展组中的EC2实例。

问题:

如何自动完成整个过程,以便在完成创建CloudFormation Stack的Jenkins作业后,可以在完成代码部署过程后触发CodeDeploy作业。

干杯

2 个答案:

答案 0 :(得分:1)

你可以把这两件事都放在一份工作中。在这里,它处于两个阶段的声明性管道中:

pipeline {
  agent { label 'docker' }
  stages {
    stage('cloudformation') {
      steps {
        sh './do_cloudformation.sh'
      }
    }
    stage('codedeploy') {
      steps {
        sh './do_codedeploy.sh'
      }
    }
  }
}

如果您希望能够独立触发它们,您可以将它们保留在两个作业中,但让cloudformation作业触发codedeploy作业,使用build step,如下所示:

pipeline {
  agent { label 'docker' }
  stages {
    stage('cloudformation') {
      steps {
        sh './do_cloudformation.sh'
      }
    }
    stage('codedeploy') {
      steps {
        build 'name-of-codedeploy-job'
      }
    }
  }
}

答案 1 :(得分:0)

通过选择“构建触发器”并使用“构建其他项目后构建”选项

解决了该问题