AWS CodeBuild - после успешной сборки скопируйте файл yaml в S3 - PullRequest
2 голосов
/ 07 октября 2019

Я использую CodeBuild для сборки проекта Scala sbt. во время сборки я делаю следующие шаги.

  • код извлечения из Git.
  • Установить все инструменты sbt.
  • Код сборки.
  • Создать Docker
  • Опубликовать Dockerфайл в AWS ECR
  • Обновите файл развертывания K8, расположенный в корневой папке проекта deployment/deployment.yaml, с последней версией опубликованного изображения, используя утилиту kustomize.
  • Опубликуйте этот файл в корзине AWS S3 для дальнейшего развертывания на AWS EKS.

К сожалению, последний шаг завершается неудачно, и я не могу переместить этот файл развертывания в корзину AWS S3.

artifacts:
  files:
    - deployment/deployment.yaml
  discard-paths: yes
  base-directory: 'deployment'

Что я делаю не так?

1 Ответ

3 голосов
/ 07 октября 2019
base-directory: 'deployment'

... будет означать, что CodeBuild будет искать в каталоге «deploy» для «deploy / deploy.yaml», что, вероятно, неправильно.

Попробуйте это:

artifacts:
  files:
    - deployment/deployment.yaml
  discard-paths: yes

Один трюк, который я нашел полезным, это установить 'tree' в моей сборочной спецификации и проверить древовидную структуру каталога, чтобы убедиться, что я указываю правильный путь.

На этапе установки:

- apt-get install tree

Позже в Buildspec:

- tree .
...