#git #amazon-web-services #amazon-elastic-beanstalk #aws-codepipeline #aws-codebuild
#мерзавец #amazon-веб-сервисы #амазонка-эластичный бобовый стебель #aws-codepipeline #aws-сборка кода
Вопрос:
В настоящее время я пытаюсь настроить процесс развертывания с помощью AWS CodePipeline. Мой источник-Github, который представляет собой репозиторий, содержащий подмодули git. Чтобы клонировать подмодули, я использую файл buildspec.yml ниже на этапе сборки:
version: 0.2 env: variables: git_url: "url to github repo" parameter-store: ssh_key: ssh_key ssh_pub: ssh_key.pub config_file: config_file phases: pre_build: commands: - mkdir -p ~/.ssh - echo "$ssh_key" gt; ~/.ssh/ssh_key - echo "$ssh_pub" gt; ~/.ssh/ssh_key.pub - echo "$config_file" gt; ~/.ss -h/config - chmod 600 ~/.ssh/ssh_key - chmod 600 ~/.ssh/ssh_key.pub - eval "$(ssh-agent -s)" - git init - git remote add origin "$git_url" - git fetch origin - git branch - git checkout -f "$CODEBUILD_RESOLVED_SOURCE_VERSION" - git submodule init - git submodule update --recursive build: commands: - echo Build started on `date` post_build: commands: - echo Build completed on `date` artifacts: base-directory: outputDirectory files: - '**/*' - .ebextensions/**/*
Журналы сборки кода » подтверждают, что подмодули git успешно клонируются в сборку:
[Container] 2021/12/02 19:02:11 Running command git submodule update --recursive Cloning into '/codebuild/output/src/src/Modules/Module1'... Cloning into '/codebuild/output/src/src/Modules/Module2'... Cloning into '/codebuild/output/src/src/Modules/Module3'... Submodule path 'Modules/Module1': checked out 'latest commit' Submodule path 'Modules/Module2': checked out 'latest commit' Submodule path 'Modules/Module3': checked out 'latest commit'
Тем не менее, когда я проверяю свою корзину S3 на наличие zip-файла сборки, в папках подмодулей нет файлов. Например, модуль 1 есть, но это пустая папка.
Куда направляются файлы подмодулей git? Единственное, что происходит после сборки, — это развертывание в экземпляре Elastic Beanstalk.