Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---------------------------------- Task 1 Flask application ----------------------------------------
- ---
- - name: "Docker image build"
- hosts: build
- become: true
- vars:
- packages:
- - docker
- - git
- git_url: https://github.com/Chris-luiz-16/Hello-world-flask-app-with-systemd-file.git
- clone_dest: /var/flaskapp
- docker_name: chrisluiz16/flaskappdocker
- vars_files:
- - passwd.vars
- tasks:
- - name: "Install required packages for docker build"
- yum:
- name: "{{ packages }}"
- state: present
- - name: "Adding a secondary user docker for the user ec2-user"
- user:
- name: ec2-user
- groups: docker
- append: true
- - name: "Starng/enabibling the docker service"
- service:
- name: docker
- state: started
- enabled: true
- - name: "git cloning the Flask application"
- git:
- repo: "{{ git_url }}"
- dest: "{{ clone_dest }}"
- register: git_status
- - name: "Printing the git commit id's"
- debug:
- var: git_status
- - name: "Login to the dockerhub"
- when: git_status.changed == true
- docker_login:
- username: "{{ docker_user }}"
- password: "{{ docker_passwd }}"
- - name: "Docker image build from Docker file"
- when: git_status.changed == true
- community.docker.docker_image:
- name: "{{ docker_name }}"
- source: build
- build:
- path: "{{ clone_dest }}"
- pull: true
- tag: "{{ item }}"
- push: true
- force_tag: true
- force_source: true
- with_items:
- - latest
- - "{{ git_status.after }}"
- register: build_status
- - name: "Deleting the local image build"
- when: git_status.changed == true
- community.docker.docker_image:
- name: "{{ docker_name }}"
- tag: "{{ item }}"
- state: absent
- with_items:
- - latest
- - "{{ git_status.after }}"
- - name: "Logout docker hub"
- when: git_status.changed == true
- docker_login:
- username: "{{ docker_user }}"
- password: "{{ docker_passwd }}"
- state: absent
- - name: "Running a flaskapp container"
- hosts: test
- become: true
- vars:
- packages:
- - python3-pip
- - docker
- git_url: https://github.com/Chris-luiz-16/Hello-world-flask-app-with-systemd-file.git
- clone_dest: /var/flaskapp
- docker_name: chrisluiz16/flaskappdocker
- tasks:
- - name: "Installing required packages for the flaskapp docker container"
- yum:
- name: "{{ packages }}"
- state: present
- - name: "Adding docker as a secondary user in ec2-user"
- user:
- name: ec2-user
- groups: docker
- append: true
- - name: " Starting & enable docker service"
- service:
- name: docker
- state: started
- enabled: true
- - name: "Pulling the docker image to the test server"
- community.docker.docker_image:
- name: "{{ docker_name }}"
- source: pull
- force_source: true
- register: image_status
- - name: "Creating a container in test server"
- when: image_status.changed == true
- docker_container:
- name: flaskctr
- image: "{{ docker_name }}"
- recreate: true
- restart_policy: always
- published_ports: 5000:5000
- #### Output ####
- [ec2-user@ip-172-31-12-92 ~]$ ansible-playbook -i hosts main.yml --vault-password-file=secret.sh
- PLAY [Docker image build] **********************************************************************************************************************************
- TASK [Gathering Facts] *************************************************************************************************************************************
- ok: [172.31.13.244]
- TASK [Install required packages for docker build] **********************************************************************************************************
- ok: [172.31.13.244]
- TASK [Adding a secondary user docker for the user ec2-user] ************************************************************************************************
- ok: [172.31.13.244]
- TASK [Starng/enabibling the docker service] ****************************************************************************************************************
- ok: [172.31.13.244]
- TASK [git cloning the Flask application] *******************************************************************************************************************
- changed: [172.31.13.244]
- TASK [Printing the git commit id's] ************************************************************************************************************************
- ok: [172.31.13.244] => {
- "git_status": {
- "after": "3cb7d7d72286a2b2558e496240143fbe16d21a26",
- "before": "9912d65954c0822fee7ea674fa87faefada99f76",
- "changed": true,
- "failed": false,
- "remote_url_changed": false
- }
- }
- TASK [Login to the dockerhub] ******************************************************************************************************************************
- changed: [172.31.13.244]
- TASK [Docker image build from Docker file] *****************************************************************************************************************
- changed: [172.31.13.244] => (item=latest)
- ok: [172.31.13.244] => (item=3cb7d7d72286a2b2558e496240143fbe16d21a26)
- TASK [Deleting the local image build] **********************************************************************************************************************
- changed: [172.31.13.244] => (item=latest)
- changed: [172.31.13.244] => (item=3cb7d7d72286a2b2558e496240143fbe16d21a26)
- TASK [Logout docker hub] ***********************************************************************************************************************************
- changed: [172.31.13.244]
- PLAY [Running a flaskapp container] ************************************************************************************************************************
- TASK [Gathering Facts] *************************************************************************************************************************************
- ok: [172.31.5.16]
- TASK [Installing required packages for the flaskapp docker container] **************************************************************************************
- ok: [172.31.5.16]
- TASK [Adding docker as a secondary user in ec2-user] *******************************************************************************************************
- ok: [172.31.5.16]
- TASK [Starting & enable docker service] ********************************************************************************************************************
- ok: [172.31.5.16]
- TASK [Pulling the docker image to the test server] *********************************************************************************************************
- changed: [172.31.5.16]
- TASK [Creating a container in test server] *****************************************************************************************************************
- changed: [172.31.5.16]
- PLAY RECAP *************************************************************************************************************************************************
- 172.31.13.244 : ok=10 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- 172.31.5.16 : ok=6 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- ###---------------------------------- Task 2 nodejs application ---------------####
- ---
- - name: "Docker image build"
- hosts: build
- become: true
- vars:
- packages:
- - docker
- - git
- git_url: https://github.com/Chris-luiz-16/Simple-Nodejs-Hello-world-Docker-image-and-container-build.git
- clone_dest: /var/nodejs
- docker_name: chrisluiz16/nodejs
- vars_files:
- - passwd.vars
- tasks:
- - name: "Install required packages for docker build"
- yum:
- name: "{{ packages }}"
- state: present
- - name: "Adding a secondary user docker for the user ec2-user"
- user:
- name: ec2-user
- groups: docker
- append: true
- - name: "Starng/enabibling the docker service"
- service:
- name: docker
- state: started
- enabled: true
- - name: "git cloning the nodejs application"
- git:
- repo: "{{ git_url }}"
- dest: "{{ clone_dest }}"
- register: git_status
- - name: "Printing the git commit id's"
- debug:
- var: git_status
- - name: "Login to the dockerhub"
- when: git_status.changed == true
- docker_login:
- username: "{{ docker_user }}"
- password: "{{ docker_passwd }}"
- - name: "Docker image build from Docker file"
- when: git_status.changed == true
- community.docker.docker_image:
- name: "{{ docker_name }}"
- source: build
- build:
- path: "{{ clone_dest }}"
- pull: true
- tag: "{{ item }}"
- push: true
- force_tag: true
- force_source: true
- with_items:
- - latest
- - "{{ git_status.after }}"
- register: build_status
- - name: "Deleting the local image build"
- when: git_status.changed == true
- community.docker.docker_image:
- name: "{{ docker_name }}"
- tag: "{{ item }}"
- state: absent
- with_items:
- - latest
- - "{{ git_status.after }}"
- - name: "Logout docker hub"
- when: git_status.changed == true
- docker_login:
- username: "{{ docker_user }}"
- password: "{{ docker_passwd }}"
- state: absent
- - name: "Running a nodejs container in test server"
- hosts: test
- become: true
- vars:
- packages: docker
- git_url: https://github.com/Chris-luiz-16/Simple-Nodejs-Hello-world-Docker-image-and-container-build.git
- clone_dest: /var/flaskapp
- docker_name: chrisluiz16/nodejs
- tasks:
- - name: "Installing required packages for the nodejs docker container"
- yum:
- name: "{{ packages }}"
- state: present
- - name: "Adding docker as a secondary user in ec2-user"
- user:
- name: ec2-user
- groups: docker
- append: true
- - name: " Starting & enable docker service"
- service:
- name: docker
- state: started
- enabled: true
- - name: "Pulling the docker image to the test server"
- community.docker.docker_image:
- name: "{{ docker_name }}"
- source: pull
- force_source: true
- register: image_status
- - name: "Creating a node js container in test server"
- when: image_status.changed == true
- docker_container:
- name: nodejsctr
- image: "{{ docker_name }}"
- recreate: true
- restart_policy: always
- published_ports: 3000:3000
- #### Output ####
- [ec2-user@ip-172-31-12-92 ~]$ ansible-playbook -i hosts nodejs.yml --vault-password-file=secret.sh
- PLAY [Docker image build] **********************************************************************************************************************************
- TASK [Gathering Facts] *************************************************************************************************************************************
- ok: [172.31.13.244]
- TASK [Install required packages for docker build] **********************************************************************************************************
- ok: [172.31.13.244]
- TASK [Adding a secondary user docker for the user ec2-user] ************************************************************************************************
- ok: [172.31.13.244]
- TASK [Starng/enabibling the docker service] ****************************************************************************************************************
- ok: [172.31.13.244]
- TASK [git cloning the nodejs application] ******************************************************************************************************************
- changed: [172.31.13.244]
- TASK [Printing the git commit id's] ************************************************************************************************************************
- ok: [172.31.13.244] => {
- "git_status": {
- "after": "31a3756964e5c14b77c39b8b258d38846c2b7295",
- "before": "a2d9e3d95e6cee555477214ba7e336a1c451a427",
- "changed": true,
- "failed": false,
- "remote_url_changed": false
- }
- }
- TASK [Login to the dockerhub] ******************************************************************************************************************************
- changed: [172.31.13.244]
- TASK [Docker image build from Docker file] *****************************************************************************************************************
- changed: [172.31.13.244] => (item=latest)
- ok: [172.31.13.244] => (item=31a3756964e5c14b77c39b8b258d38846c2b7295)
- TASK [Deleting the local image build] **********************************************************************************************************************
- changed: [172.31.13.244] => (item=latest)
- changed: [172.31.13.244] => (item=31a3756964e5c14b77c39b8b258d38846c2b7295)
- TASK [Logout docker hub] ***********************************************************************************************************************************
- changed: [172.31.13.244]
- PLAY [Running a nodejs container in test server] ***********************************************************************************************************
- TASK [Gathering Facts] *************************************************************************************************************************************
- ok: [172.31.5.16]
- TASK [Installing required packages for the nodejs docker container] ****************************************************************************************
- ok: [172.31.5.16]
- TASK [Adding docker as a secondary user in ec2-user] *******************************************************************************************************
- ok: [172.31.5.16]
- TASK [Starting & enable docker service] ********************************************************************************************************************
- ok: [172.31.5.16]
- TASK [Pulling the docker image to the test server] *********************************************************************************************************
- changed: [172.31.5.16]
- TASK [Creating a node js container in test server] *********************************************************************************************************
- changed: [172.31.5.16]
- PLAY RECAP *************************************************************************************************************************************************
- 172.31.13.244 : ok=10 changed=5 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
- 172.31.5.16 : ok=6 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Advertisement
Add Comment
Please, Sign In to add comment