使用Jenkinsfile和AWS Code Deploy部署应用程序



我正在从Jenkins 1.x迁移到Jenkins 2。我想使用Jenkinsfile构建和部署应用程序。我能够构建gradle应用程序,但我对使用Jenkinsfile通过AWS Codedeploy部署应用程序感到困惑。

这是我的詹金斯档案

node {
// Mark the code checkout 'stage'....
stage 'Checkout'
// Get some code from a GitHub repository
git branch: 'master', 
credentialsId: 'xxxxxxxx-xxxxx-xxxxx-xxxxx-xxxxxxxx', 
url: 'https://github.com/somerepo/someapplication.git'
// Mark the code build 'stage'....
stage 'Build'
// Run the gradle build
sh '/usr/share/gradle/bin/gradle build -x test -q buildZip -Pmule_env=aws-dev -Pmule_config=server'
stage 'Deploy via Codedeploy'
//Run using codedeploy agent
}

我搜索了很多教程,但他们使用的是AWS代码部署插件。您能帮助我使用Jenkinsfile通过AWS Codedeploy部署应用程序吗?

谢谢。

或者,您可以使用AWS CLI命令进行代码部署。这包括两个步骤。

步骤1-将部署捆绑包推送到S3存储桶。请参阅以下命令:

aws --profile {profile_name} deploy push --application-name {code_deploy_application_name} --s3-location s3://<s3_file_path>.zip

其中:

  1. profile_name=AWS配置文件的名称(如果使用多个帐户)
  2. code_deploy_application_name=AWS代码部署应用程序的名称
  3. s3_file_path=部署捆绑包zip文件的s3文件路径

步骤2-启动代码部署第二个命令是用于触发代码部署的。请参阅以下命令:

aws --profile {profile} deploy create-deployment  --application-name {code_deploy_application_name} --deployment-group-name {code_deploy_group_name} --s3-location bucket={s3_bucket_name},bundleType=zip,key={s3_bucket_zip_file_path}

其中:

  1. profile=您的AWS配置文件的名称(如果使用多个帐户)
  2. code_deploy_application_name=与步骤1相同
  3. code_deploy_group_name=代码部署组的名称。这与您的代码部署应用程序相关联
  4. s3_bucket_name=存储部署工件的s3存储桶的名称。(请确保执行代码部署的角色具有s3 bucket的权限。)
  5. s3_bucket_zip_file_path=与步骤1相同

最新更新