geerlingguy.ecr_container_build

Ansible Rolle: ECR Container Build

CI

Eine Ansible Rolle, die Docker-Container-Images erstellt und (optional) in AWS ECR-Repositorien hochlädt.

Anforderungen

  • Docker
  • Pip-Pakete: boto3, docker

Rollenvariablen

Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml):

ecr_image_src_dir: ../mein-projekt
ecr_image_name: namespace/mein-projekt

Ein Quellverzeichnis, das eine Dockerfile und alle erforderlichen Ressourcen enthält, sowie den Bildnamen (typischerweise in der Form namespace/projekt) für das gebaute Docker-Image.

ecr_image_buildargs: {}

Bauargumente, die an das Modul docker_image beim Erstellen des Docker-Images übergeben werden. Argumente sollten als Objekt mit Schlüssel-Wert-Paaren übergeben werden, z.B. { name: value, name2: value2 }

ecr_image_tags: ['latest']

Die Tags, die auf das finale Image angewendet werden, das in ECR hochgeladen wird.

ecr_login_required: false

Setze dies auf true, wenn du ECR als Quelle für deinen Container-Bau verwendest (z.B. FROM in der Dockerfile).

ecr_push: true

Ob das erstellte Image in ECR hochgeladen werden soll. Setze es auf false, wenn du nur die Image-Bau-Phase testen möchtest oder keine Verbindung zu ECR herstellen kannst.

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

AWS-Kontodetails für ECR.

Abhängigkeiten

Keine.

Beispiel-Playbook

Lokales Bauen (vorausgesetzt, du hast bereits Docker CE und das Pip-Paket docker installiert):

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

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

  roles:
    - role: geerlingguy.ecr_container_build

Bauen auf einem Remote-Server:

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

  vars:
    ecr_image_src_dir: ../mein-projekt
    ecr_image_name: namespace/mein-projekt
    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

Lizenz

MIT / BSD

Autor-Informationen

Diese Rolle wurde 2018 von Jeff Geerling erstellt, Autor von Ansible für DevOps.

Über das Projekt

ECR docker image build and push management role.

Installieren
ansible-galaxy install geerlingguy.ecr_container_build
Lizenz
mit
Downloads
24.2k
Besitzer
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns