ansible dibutuhkan untuk menjalankan automasi di lingkup Linux OS, jenkins image yang kita build dari awal belum dilengkapi dengan aplikasi ansible, untuk itu kita perlu mengedit docker-compose.yml serta menambahkan file Dockerfile di dalam folder ansible
vim docker-compose.yml
version: '3'
services:
jenkins:
container_name: jenkins
image: jenkins-ansible
build:
context: ansible
ports:
- "8080:8080"
volumes:
- "./jenkins_home:/var/jenkins_home"
networks:
- net
remote_host:
container_name: remote-host
image: remote-host
build:
context: centos7
volumes:
- "./aws-s3.sh:/home/remote_user/script.sh"
networks:
- net
centos1:
container_name: centos1
image: centos1
build:
context: OS
volumes:
- "./OS/home/aws.sh:/home/centos1/aws.sh"
networks:
- net
db_host:
container_name: db
image: mysql:5.7
environment:
- "MYSQL_ROOT_PASSWORD=12345"
volumes:
- "./db_data:/var/lib/mysql"
networks:
- net
database:
container_name: database
image: mysql:5.7
environment:
- "MYSQL_ROOT_PASSWORD=12345"
volumes:
- "./database_data:/var/lib/mysql"
networks:
- net
networks:
net: pada Dockerfile tambahkan script sebagai berikut:
FROM jenkins/jenkins
USER root
RUN apt-get update -y && \
apt-get install ansible vim net-tools sshpass -y
USER rootsudo docker-compose build
sudo docker-compose up -d

sudo docker exec -ti jenkins bash
ansible

membuat perintah sederhana dengan ansible, yang pertama adalah buat inventory host terlebih dahulu, hal ini saya letakan di folder ~/ansible

file hosts
[all:vars]
ansible_connection = ssh
[test]
test1 ansible_host=remote-host ansible_user=root ansible_private_key_file=/var/jenkins_home/ansible/remote_key
selanjut membuat playbook sederhana dengan nama play.yml
---
- hosts: test
tasks:
- shell: echo "ini test sederhana create file " > /tmp/test.sederhana
jenkins@e4f63afaf131:~/ansible$ ansible-playbook -i hosts play.yml


lalu bagaimana cara intregasi ke dalam jenkins, sebelumnya harus install dulu model ansible di jenkins plugins

lalu buat new items, misalkan “ansibleku”



rubah play.yml sebagai berikut:
---
- hosts: test
tasks:
- shell: echo "ini test sederhana create file " > /tmp/test.sederhana
- debug:
msg: "{{ MSG }}"agar output terkesan tidak monoton dan berwarna sebaiknya install ansicolor

lalu configure items ex: “ansibleku”


setelah build with parametes hasilnya



