diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed9e9c7c49920298e382cf466d9d9a32a088243b..21e03d89159bee9125e71c09ef26c68e1495607a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,35 +2,54 @@ stages: - build - Config - deploy -# TInstall the base Configuration. -Configuration_base: + +# Build the ansible runner (You can Set a local gitlab runner) +build: stage: build + image: docker:latest script: - - ansible-playbook -i inventory.ini main.yml --ask-vault-pass + - docker build -t ansible-container . + +# Install the base Configuration. +Configuration_base: + stage: Config + image: docker:latest + script: + - docker build -t ansible-container . + - docker run -v $(pwd):/ansible ansible-container ansible-playbook -i inventory.ini /ansible/base.yml --ask-vault-pass # Upgrade packages. Upgrade: - stage: build + stage: Config + image: docker:latest script: - - ansible-playbook -i inventory.ini upgrade.yml --ask-vault-pass + - docker run -v $(pwd):/ansible ansible-container ansible-playbook -i inventory.ini /ansible/upgrade.yml --ask-vault-pass # Configure docker Configuration_docker: stage: Config + image: docker:latest script: - - ansible-playbook -i inventory.ini Config.yml --ask-vault-pass + - docker build -t ansible-container . + - docker run -v $(pwd):/ansible ansible-container ansible-playbook -i inventory.ini /ansible/docker.yml --ask-vault-pass # Configure nginx Configuration_nginx: stage: Config + image: docker:latest script: - - ansible-playbook -i inventory.ini nginx.yml --ask-vault-pass + - docker build -t ansible-container . + - docker run -v $(pwd):/ansible ansible-container ansible-playbook -i inventory.ini /ansible/nginx.yml --ask-vault-pass # Configure postgreSQL Configuration_postgreSQL: stage: Config + image: docker:latest script: - - ansible-playbook -i inventory.ini postgresql.yml --ask-vault-pass - + - docker build -t ansible-container . + - docker run -v $(pwd):/ansible ansible-container ansible-playbook -i inventory.ini /ansible/postgresql.yml --ask-vault-pass + # Deploy the synapse app. Configuration_Synapse: stage: deploy + image: docker:latest script: - - ansible-playbook -i inventory.ini synapse.yml --ask-vault-pass \ No newline at end of file + - docker build -t ansible-container . + - docker run -v $(pwd):/ansible ansible-container ansible-playbook -i inventory.ini /ansible/synapse.yml --ask-vault-pass \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..f0a035347e59db7829e6a90551a7da12eee73358 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +# Dockerfile + +# Use a base image with Python and pip installed +FROM python:3 + +# Install Ansible +RUN pip install ansible + +# Copy your playbook and inventory file into the container +COPY playbooks/* /ansible/* +COPY inventory.ini /ansible/inventory.ini + +# Set the working directory +WORKDIR /ansible diff --git a/playbooks/nginx_install.yml b/playbooks/nginx.yml similarity index 100% rename from playbooks/nginx_install.yml rename to playbooks/nginx.yml