Disclaimer: This README file was copied from its original owner. All rights reserved.
Ansible adalah sebuah provisioning tool yang dikembangkan oleh RedHat. Dimana kamu dapat mencatat setiap proses deployment ataupun konfigurasi yang biasa dilakukan berulang - ulang terhadap beberapa server. Misal saat pertama kali kita memasang Ubuntu Server di 10 mesin, maka kita akan melakuan apt-get update serta memasang beberapa komponen seperti PHP5 dan Apache2. Sebenarnya tidak akan menjadi masalah, bila kita hanya melakukan sedikit hal. Tapi bayangkan bila harus melakukan konfigurasi yang cukup kompleks dan dilakukan secara berulang - ulang ke 10 mesin tersebut.
-
Jalankan perintah
sudo apt install ansible sudo apt-get install sshpass
-
Buat folder simple-playbook
-
Pindah ke folder simple-playbook dan buat file
hosts
sebagai vagrant inventory, dengan isi:worker1 ansible_host=[IP VM 1] ansible_ssh_user=cloud ansible_become_pass=raincloud123! worker2 ansible_host=[IP VM 2] ansible_ssh_user=cloud ansible_become_pass=raincloud123!
-
Kemudian jalankan perintah
ansible -i ./hosts -m ping all -k
Keterangan :
- parameter -i digunakan untuk digunakan untuk mendeclare ansible inventory.
- parameter -m digunakan untuk declare module command
- parameter -k digunakan untuk menanyakan password login ssh
- parameter all digunakan untuk penanda ansible dijalankan di host mana. Parameter all bisa diganti dengan nama host.
-
Jalankan perintah
ansible -i ./hosts -m shell -a 'uname -a' all -k
-
Buka file
hosts
dan tambahkan nama group. Contoh nama groupnya adalah worker[worker] worker1 ansible_host=192.168.33.11 ansible_ssh_user=cloud ansible_become_pass=raincloud123! worker2 ansible_host=192.168.33.12 ansible_ssh_user=cloud ansible_become_pass=raincloud123!
-
Buat file
lynx.yml
dengan isi sebagai berikut- hosts: worker tasks: - name: Install lynx become: yes #untuk menjadi superuser apt: name={{ item }} state=latest update_cache=true with_items: - lynx
-
Jalankan perintah
ansible-playbook -i hosts lynx.yml -k
-
Hasil
-
Buat file copy.yml, dengan isi
- hosts: worker tasks: - name: Buat folder dan copy command: mkdir -p inifolder - name: copy file copy: src=./lynx.yml dest=~/inifolder/lynx.yml
-
Jalankan dengan perintah
ansible-playbook -i hosts copy.yml -k
https://github.com/leucos/ansible-tuto
-
Buat 3 VM, 2 Ubuntu 16.04 sebagai worker, 1 Debian 9 sebagai DB server
-
Pada vm Debian install Mysql dan setup agar koneksi DB bisa diremote dan memiliki user: username: regal password: bolaubi
-
Pada worker: 2.1. Install Nginx 2,2, Install PHP 7.2 2.3. Install composer 2.4. Install Git
dan pastikan worker dapat menjalankan Laravel 5.6
-
Clone https://github.com/udinIMM/Hackathon pada setiap worker dan setup database pada .env mengarah ke DB server.
-
Setup root directory nginx ke folder Laravel hasil clone repo diatas