CodeDeploy DownloadBundle: Zip конец подписи центрального каталога не найден - PullRequest
0 голосов
/ 22 февраля 2019

Я использую 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

I артефакт существует на S3 и был собран с Дженкинсом с использованием 7zip

"C:\Program Files\7-Zip\7z.exe" a Web.zip "%WORKSPACE%\App.Web\bin\Release\Publish\*"

и опубликован так:

Artifact Push

Я получаю эту ошибку: DownloadBundle: Zip конец подписи центрального каталога не найден

1 Ответ

0 голосов
/ 05 марта 2019

В настоящее время мы используем плагин Jenkins codedeploy для этой работы. Код Jenkins развернут , хотя возникла проблема - файл-существует-поведение.следовательно, у нас есть исправлено и дано pullrequest .Если вы хотите Added fileExistsBehavior --file-exists-behavior support, тогда создайте плагин .

Пиплайн обычно выглядит следующим образом:

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.

например enter image description here.Codedeploy jenkins автоматически заархивирует и загрузит его в s3, а затем активирует codedeploy.

Если вы хотите добавить codedeploy к заданию jenkins freestyle, добавьте Действия после сборки Deploy an application to AWS CodeDeploy enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...