geerlingguy.ecr_container_build
Ansible Rolle: ECR Container Build
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.
ECR docker image build and push management role.
ansible-galaxy install geerlingguy.ecr_container_build