ecr_container_build

Ansible Роль: Сборка Контейнера ECR

CI

Ansible роль, которая устанавливает и собирает образы контейнеров Docker и (по желанию) отправляет их в репозитории AWS ECR.

Требования

  • Docker
  • Пакеты Pip: boto3, docker

Переменные роли

Доступные переменные перечислены ниже с их значениями по умолчанию (см. defaults/main.yml):

ecr_image_src_dir: ../my-project
ecr_image_name: namespace/my-project

Директория с исходным кодом, содержащая Dockerfile и все необходимые ресурсы, а также имя изображения (обычно в формате namespace/project) для собираемого Docker-образа.

ecr_image_buildargs: {}

Аргументы сборки, которые нужно передать модулю docker_image при сборке Docker-образа. Аргументы должны передаваться в виде объекта с парами "ключ-значение", например, { name: value, name2: value2 }.

ecr_image_tags: ['latest']

Теги, которые будут применены к конечному изображению, отправленному в ECR.

ecr_login_required: false

Установите это значение в true, если вы используете ECR как источник для сборки вашего контейнера (например, FROM в Dockerfile).

ecr_push: true

Указывает, нужно ли отправлять собранный образ в ECR. Установите в false, если вы просто тестируете часть сборки образа или не можете подключиться к ECR.

ecr_region: us-east-1
ecr_account_id: '123456789012'
ecr_url: "{{ ecr_account_id }}.dkr.ecr.{{ ecr_region }}.amazonaws.com"

Данные учетной записи AWS для ECR.

Зависимости

Отсутствуют.

Пример плейбука

Сборка локально (при условии, что у вас уже установлен Docker CE и пакет docker pip):

---
- hosts: localhost
  connection: local
  gather_facts: false

  vars:
    ecr_image_src_dir: ../my-project
    ecr_image_name: namespace/my-project
    ecr_image_tags: ['latest','1.2.3']
    ecr_account_id: '123456789012'
    pip_install_packages: ['docker']

  roles:
    - role: geerlingguy.ecr_container_build

Сборка на удаленном сервере:

---
- hosts: localhost
  connection: local
  gather_facts: false

  vars:
    ecr_image_src_dir: ../my-project
    ecr_image_name: namespace/my-project
    ecr_image_tags: ['latest','1.2.3']
    ecr_account_id: '123456789012'
    pip_install_packages: ['docker']

  roles:
    - role: geerlingguy.docker
    - role: geerlingguy.pip
    - role: geerlingguy.ecr_container_build

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2018 году Джеффом Гирлингом, автором Ansible for DevOps.

О проекте

ECR docker image build and push management role.

Установить
ansible-galaxy install geerlingguy/ansible-role-ecr_container_build
Лицензия
mit
Загрузки
24230
Владелец
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns