geerlingguy.ecr_container_build

Rol de Ansible: Construcción de Contenedores ECR

CI

Un Rol de Ansible que instala y construye imágenes de contenedores Docker y (opcionalmente) las envía a los Repositorios ECR de AWS.

Requisitos

  • Docker
  • Paquetes de Pip: boto3, docker

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml):

ecr_image_src_dir: ../mi-proyecto
ecr_image_name: namespace/mi-proyecto

Un directorio de origen que contiene un Dockerfile y los recursos necesarios, y el nombre de la imagen (típicamente en la forma namespace/proyecto) para la imagen de docker que se construye.

ecr_image_buildargs: {}

Argumentos de construcción para pasar al módulo docker_image al construir la imagen de Docker. Los argumentos deben pasarse como un objeto con pares clave-valor, por ejemplo: { nombre: valor, nombre2: valor2 }

ecr_image_tags: ['latest']

Las etiquetas que se aplican a la imagen final que se envía a ECR.

ecr_login_required: false

Establece esto en true si estás utilizando ECR como la fuente para tu construcción de contenedor (por ejemplo, FROM en Dockerfile).

ecr_push: true

Si se debe enviar la imagen construida a ECR. Establece en false si solo estás probando la porción de construcción de la imagen o si no puedes conectarte a ECR.

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

Detalles de la cuenta de AWS para ECR.

Dependencias

Ninguna.

Ejemplo de Playbook

Construyendo localmente (suponiendo que ya tienes Docker CE y el paquete docker de pip instalado):

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

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

  roles:
    - role: geerlingguy.ecr_container_build

Construyendo en un servidor remoto:

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

  vars:
    ecr_image_src_dir: ../mi-proyecto
    ecr_image_name: namespace/mi-proyecto
    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

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2018 por Jeff Geerling, autor de Ansible for DevOps.

Acerca del proyecto

ECR docker image build and push management role.

Instalar
ansible-galaxy install geerlingguy.ecr_container_build
Licencia
mit
Descargas
24.2k
Propietario
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns