1

С CodeBuild Я скомпилирую мое приложение SpringBoot и поместил полученную банку в папку с именем deploy/. В моей buildspec.yml в конце я обеспечиваю:Артефакт из CodeBuild не может быть развернут с CodeDeploy

artifacts: 
    files: 
    - deploy/* 

Когда я включаю это к CodePipeline, это создает файл почтового индекса в S3. Но проблема в том, что этот zip-файл содержит корневую папку, то есть deploy. Таким образом, структура файла почтового индекса является:

deploy.zip 
    - deploy/ 
    - appspec.yml 
    - app.jar 
    - ... 

Это приводит к проблеме, CodeDeploy не может найти appspec.yml, becuase он не смотрит в папку развертывания. Я пытался преодолеть это, предоставляя zip-файл как артефакт в конце процесса сборки, но затем в конвейере он снова становится зацикленным.

Любая идея, как решить эту проблему, будет очень признательна.

ответ

1

Существует новый флаг вы можете добавить в артефактах раздел base-directory, чтобы указать базовый путь для вашего пакета артефактов. Это позволит вам обрезать путь deploy/ из ваших артефактов, не теряя при этом остальную часть структуры.

artifacts: 
    files: 
    - **/* 
    base-directory: deploy 

http://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html

Смежные вопросы