geerlingguy.ecr_container_build
Rola Ansible: Budowanie Kontenera ECR
Rola Ansible, która instaluje i buduje obrazy kontenerów Docker oraz (opcjonalnie) umieszcza je w repozytoriach AWS ECR.
Wymagania
- Docker
- Pakiety Pip:
boto3
,docker
Zmienne Roli
Dostępne zmienne wymienione są poniżej wraz z wartościami domyślnymi (zobacz defaults/main.yml
):
ecr_image_src_dir: ../my-project
ecr_image_name: namespace/my-project
Katalog źródłowy zawierający Dockerfile i wszelkie wymagane zasoby oraz nazwa obrazu (zwykle w formacie namespace/project
) dla budowanego obrazu Docker.
ecr_image_buildargs: {}
Argumenty budowy do przekazania do modułu docker_image
podczas budowania obrazu Docker. Argumenty należy przekazać jako obiekt z pary klucz-wartość, np. { name: value, name2: value2 }
ecr_image_tags: ['latest']
Etykiety, które zostaną zastosowane do końcowego obrazu, który jest przesyłany do ECR.
ecr_login_required: false
Ustaw to na true
, jeśli używasz ECR jako źródła dla budowy kontenera (np. FROM
w Dockerfile
).
ecr_push: true
Czy przesłać zbudowany obraz do ECR. Ustaw na false
, jeśli tylko testujesz część budowy obrazu lub nie możesz połączyć się z ECR.
ecr_region: us-east-1
ecr_account_id: '123456789012'
ecr_url: "{{ ecr_account_id }}.dkr.ecr.{{ ecr_region }}.amazonaws.com"
Szczegóły konta AWS dla ECR.
Zależności
Brak.
Przykładowy Playbook
Budowanie lokalnie (zakładając, że masz już zainstalowany Docker CE i pakiet 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
Budowanie na serwerze zdalnym:
---
- 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
Licencja
MIT / BSD
Informacje o Autorze
Ta rola została stworzona w 2018 roku przez Jeffa Geerlinga, autora Ansible for DevOps.
ECR docker image build and push management role.
ansible-galaxy install geerlingguy.ecr_container_build