geerlingguy.ecr_container_build
Rôle Ansible : Construction de conteneur ECR
Un rôle Ansible qui construit des images de conteneurs Docker et (en option) les pousse vers les dépôts AWS ECR.
Exigences
- Docker
- Packages Pip :
boto3
,docker
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
):
ecr_image_src_dir: ../mon-projet
ecr_image_name: namespace/mon-projet
Un répertoire source contenant un Dockerfile et les ressources nécessaires, ainsi que le nom de l'image (généralement sous la forme namespace/projet
) pour l'image Docker qui est construite.
ecr_image_buildargs: {}
Arguments de construction à passer au module docker_image
lors de la construction de l'image Docker. Les arguments doivent être passés comme un objet avec des paires clé-valeur, par exemple { name: value, name2: value2 }
ecr_image_tags: ['latest']
Les balises à appliquer à l'image finale qui est poussée vers ECR.
ecr_login_required: false
Définissez ceci sur true
si vous utilisez ECR comme source pour votre construction de conteneur (par exemple, FROM
dans le Dockerfile
).
ecr_push: true
Indique si l'image construite doit être poussée vers ECR. Mettez à false
si vous testez uniquement la partie de construction d'image ou si vous ne pouvez pas vous connecter à ECR.
ecr_region: us-east-1
ecr_account_id: '123456789012'
ecr_url: "{{ ecr_account_id }}.dkr.ecr.{{ ecr_region }}.amazonaws.com"
Détails du compte AWS pour ECR.
Dépendances
Aucune.
Exemple de Playbook
Construction en local (en supposant que vous avez déjà installé Docker CE et le package docker
pip) :
---
- hosts: localhost
connection: local
gather_facts: false
vars:
ecr_image_src_dir: ../mon-projet
ecr_image_name: namespace/mon-projet
ecr_image_tags: ['latest','1.2.3']
ecr_account_id: '123456789012'
pip_install_packages: ['docker']
roles:
- role: geerlingguy.ecr_container_build
Construction sur un serveur distant :
---
- hosts: localhost
connection: local
gather_facts: false
vars:
ecr_image_src_dir: ../mon-projet
ecr_image_name: namespace/mon-projet
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
Licence
MIT / BSD
Informations sur l'auteur
Ce rôle a été créé en 2018 par Jeff Geerling, auteur de Ansible for DevOps.
ECR docker image build and push management role.
ansible-galaxy install geerlingguy.ecr_container_build