GitLab Runner Image for Ansible Execution Environments
None
Categories:
GitLab: c2platform/c2/docker/gitlab-runner
This project provides a Dockerized GitLab Runner environment specifically designed for creating and managing Ansible Execution Environments within a CI/CD pipeline. Based on Ubuntu 22.04, it includes all necessary tools for Ansible automation, linting, and execution environment creation, all encapsulated within a Python virtual environment. Refer to Manage the RWS Ansible Execution Environment | C2 Platform for more information.
Features
- Ubuntu 22.04 Base: A stable and widely-used base for Docker images.
- Pre-installed Ansible Tools: Comes with ansible-core, yamllint, ansible-lint, and ansible-builder, ready for automation tasks. 8Integrated Python Virtual Environment: Isolates Python dependencies to avoid conflicts and ensure reproducible builds.
- Docker-in-Docker Capability: Enables the creation and management of Docker containers and images within CI/CD jobs.
- Secure Certificate Handling: Includes certificates for gitlab.c2platform.org and registry.c2platform.org to ensure secure connections within CI/CD pipelines.
- Customizable Entrypoint: Facilitates the use of the container with an entrypoint script that activates the Python virtual environment and passes commands dynamically.
Prerequisites
- Docker installed on your host machine or CI/CD runner.
- Access to a GitLab instance for running CI/CD pipelines.
Building the Docker Image
Navigate to the directory containing the Dockerfile
and execute:
export IMAGE_NAME="gitlab-runner"
export IMAGE_VERSION="0.0.1"
export IMAGE="$IMAGE_NAME:$IMAGE_VERSION"
docker build -t $IMAGE . | tee build.log
docker run -it --rm $IMAGE .
Example
(c2) vagrant@c2d-xtop:~/images/gitlab-runner$ docker run -it --rm $IMAGE
root@2f3b45e29a2e:/# ansible --version
ansible [core 2.15.0]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /root/.virtualenv/c2d/lib/python3.10/site-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /root/.virtualenv/c2d/bin/ansible
python version = 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] (/root/.virtualenv/c2d/bin/python)
jinja version = 3.1.3
libyaml = True
root@2f3b45e29a2e:/# ansible-builder --version
3.0.0
root@2f3b45e29a2e:/# git --version
git version 2.34.1
root@2f3b45e29a2e:/# exit
exit
Feedback
Was deze pagina nuttig?
Fijn om te horen! Vertel ons alstublieft hoe we kunnen verbeteren.
Jammer om dat te horen. Vertel ons alstublieft hoe we kunnen verbeteren.
Laatst gewijzigd 2024.11.14: guideline tags en fme flow tags RWS-353 (ed0ed3f)