geerlingguy.ecr_container_build

Rola Ansible: Budowanie Kontenera ECR

CI

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.

O projekcie

ECR docker image build and push management role.

Zainstaluj
ansible-galaxy install geerlingguy.ecr_container_build
Licencja
mit
Pobrania
24.2k
Właściciel
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns