Circleci: Частный подмодуль git с AWS ECR orb - PullRequest
0 голосов
/ 02 мая 2019

У меня есть следующий config.yml для сборки circleci, которая работает хорошо, она использует сферы aws-ecr и aws-ecs.

version: 2.1
    orbs:
      aws-ecr: circleci/aws-ecr@0.0.2
      aws-ecs: circleci/aws-ecs@0.0.3
    workflows:
      build-deploy:
        jobs:
          - aws-ecr/build_and_push_image:
              account-url: "myaccount.amazonaws.com"
              repo: "my/repo"
              region: us-east-1
              tag: "${CIRCLE_BRANCH}"
              filters:
                branches:
                  only: mybranch

Проблема в том, что это репозиторий содержит файл .gitmodules, который извлекает частный субмодуль.Я не могу понять, как переопределить / расширить шар для запуска дополнительных циклических эквивалентов

git submodule update --init

Я попытался добавить это в Dockerfile, но потом я получаю

Permission denied (publickey).

fatal: Could not read from remote repository.

примечание: файл dockerfile строится нормально локально, так как локальный docker автоматически вводит мой ключ git

Я также пытался перенастроить задание orb на шаги, например

version: 2.1
orbs:
  aws-ecr: circleci/aws-ecr@0.0.2
  aws-ecs: circleci/aws-ecs@0.0.3
workflows:
  build-deploy:
    jobs:
      - lb_build_and_push_image:
        steps:
          - add_ssh_keys:
              fingerprints:
                - "my:fin:ger:print"
          - aws-ecr/build_and_push_image:
              account-url: "account.amazonaws.com"
              repo: "my/repo-backend"
              region: us-east-1
              tag: "${CIRCLE_BRANCH}"
              filters:
                branches:
                  only: mybranch

... где отпечаток пальца от «пользовательского ключа» в ключах проверки SSH.Я пробовал различные конфигурации заданий / шагов.

И схема всегда терпит неудачу с обычным сообщением:

Error: ERROR IN CONFIG FILE:
[#/workflows/build-deploy/jobs/0] 0 subschemas matched instead of one
1. [#/workflows/build-deploy/jobs/0] expected type: String, found: Mapping

есть ли у кого-нибудь указатели о том, как действовать, какой может быть правильная конфигурация, или просто общие указатели о том, как двигаться вперед впоиск проблемы?Любое понимание высоко ценится.

1 Ответ

0 голосов
/ 02 мая 2019

это было окончательное решение.более новая версия aws-ecr orb предоставляет команды для шагов

version: 2.1
orbs:
  aws-ecr: circleci/aws-ecr@4.0.1
  aws-ecs: circleci/aws-ecs@0.0.3
  aws-cli: circleci/aws-cli@0.1.1

jobs:
  build_and_push_image:
    docker:
      - image: circleci/python:3.7.1
    steps:
      - checkout
      - run:
          name: "Pull Submodules"
          command: |
            git submodule init
            git submodule update --remote
      - setup_remote_docker
      - aws-ecr/build-image:
          repo: "my/repo"
          tag: "${CIRCLE_BRANCH}"
      - aws-cli/install
      - aws-ecr/ecr-login
      - aws-ecr/push-image:
          repo: "my/repo"
          tag: "${CIRCLE_BRANCH}"

, однако это основывалось на обновлениях aws orb, мне было бы интересно, если бы был другой способ решить эту проблему, предполагая, что эти шаги не были выполненывыставлены как команды

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