geerlingguy.ecr_container_build

Rôle Ansible : Construction de conteneur ECR

CI

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.

À propos du projet

ECR docker image build and push management role.

Installer
ansible-galaxy install geerlingguy.ecr_container_build
Licence
mit
Téléchargements
24.2k
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns