我正在使用Jenkins启动部署过程。
"C:\Program Files\Amazon\AWSCLI\bin\aws.exe" deploy create-deployment --application-name App.Web --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name Development --region us-west-2 --description "App.Web" --s3-location bucket=app-artifacts,bundleType=zip,key=development/Web.zip
我的工件确实存在于S3上,并且是由Jenkins使用7zip构建的
"C:\Program Files\7-Zip\7z.exe" a Web.zip "%WORKSPACE%\App.Web\bin\Release\Publish\*"
并这样发布:
我收到此错误: DownloadBundle:找不到中央目录签名的Zip结束
答案 0 :(得分:1)
当前,我们正在使用Jenkins codedeploy插件来完成这项工作。 Jenkins Code deploy
尽管存在问题-文件存在行为。因此我们有fixed并得到了pullrequest。如果您想要Added fileExistsBehavior --file-exists-behavior support
,请构建plugin。
油路通常如下所示
step([$class: 'AWSCodeDeployPublisher', applicationName: 'App.Web', awsAccessKey: 'ERAKIAI-aws-access-key', awsSecretKey: '73I28EY7vFx-aws-secret-key', credentials: 'awsAccessKey', deploymentConfig: 'CodeDeployDefault.OneAtATime', deploymentGroupAppspec: false, deploymentGroupName: 'Development', excludes: '',fileExistsBehavior: 'OVERWRITE', iamRoleArn: 'arn:aws:iam::724978192355:role/codedeploy-jenkins', includes: '**', proxyHost: '', proxyPort: 0, region: 'us-west-2', s3bucket: 'app-artifacts', s3prefix: 'app-artifacts-codedeploy', subdirectory: 'scripts/in-appspec', versionFileName: '', waitForCompletion: true])
在上述管道脚本中,subdirectory: 'scripts/in-appspec'
是codedeploy工作区。您将所有appspec.yml
和shell scripts
放在其中。
例如 。 jenkins代码部署会自动将其压缩并上传到s3中,然后触发代码部署。
如果您想将代码部署添加到jenkins自由式作业中,请添加构建后操作 Deploy an application to AWS CodeDeploy