“Cara Install Ansible GUI ( Ansible Semaphore ) pada Linux”
Daftar Isi
Pengantar
Ansible Semaphore adalah sebuah antarmuka web yang digunakan untuk mengelola dan memantau eksekusi tugas-tugas Ansible. Ini menyediakan antarmuka grafis yang intuitif yang memungkinkan pengguna untuk membuat, mengedit, dan menjadwalkan playbook Ansible serta melihat dan menganalisis hasil eksekusi.
Dengan menggunakan Ansible Semaphore, tim pengembang dan sistem administrator dapat dengan mudah berkolaborasi dalam mengelola dan mengeksekusi playbook Ansible. Ansible Semaphore menyediakan fitur-fitur berikut:
- Antarmuka Pengguna yang Mudah Dipahami: Ansible Semaphore menawarkan antarmuka web yang sederhana dan intuitif, yang memungkinkan pengguna untuk dengan mudah membuat dan mengedit playbook Ansible.
- Manajemen Proyek: Anda dapat membuat dan mengelompokkan playbook Ansible ke dalam proyek-proyek yang terorganisir. Ini membantu dalam mengelola playbook yang kompleks atau berbagai proyek yang berbeda.
- Manajemen Pengguna: Ansible Semaphore memungkinkan Anda mengelola akses pengguna dengan memberikan hak akses yang tepat ke proyek dan playbook tertentu. Ini memungkinkan kolaborasi tim yang efisien.
- Penjadwalan Tugas: Anda dapat menjadwalkan playbook Ansible untuk dijalankan pada waktu yang ditentukan. Ini memungkinkan otomatisasi tugas-tugas periodik atau perencanaan eksekusi playbook pada saat yang tepat.
- Pemantauan Eksekusi: Anda dapat memantau eksekusi playbook secara real-time dan melihat log eksekusi. Hal ini membantu dalam menganalisis hasil eksekusi dan menemukan masalah yang mungkin terjadi.
Ansible Semaphore membantu memperkuat manajemen dan penggunaan playbook Ansible, serta memfasilitasi kolaborasi tim yang efisien dalam pengembangan dan pengelolaan infrastruktur.
Doc : https://docs.ansible-semaphore.com/
Installasi
1. Snap
sudo snap install semaphore
akses : https://localhost:3000/
# Login
sudo snap stop semaphore
sudo semaphore user add --admin \
--login john \
--name=John \
--email=john1996@gmail.com \
--password=12345
sudo snap start semaphore
# sudo snap services semaphore
2. Package manager
wget https://github.com/ansible-semaphore/semaphore/releases/\
download/v2.8.75/semaphore_2.8.75_linux_amd64.deb
sudo dpkg -i semaphore_2.8.75_linux_amd64.deb
wget https://github.com/ansible-semaphore/semaphore/releases/\
download/v2.8.75/semaphore_2.8.75_linux_amd64.rpm
sudo yum install semaphore_2.8.75_linux_amd64.rpm
semaphore setup
semaphore service --config=./config.json
3. Docker
more docker-compose.yaml
---
volumes:
semaphore-mysql:
driver: local
services:
mysql:
image: mysql:8.0
hostname: mysql
volumes:
- semaphore-mysql:/var/lib/mysql
environment:
- MYSQL_RANDOM_ROOT_PASSWORD=yes
- MYSQL_DATABASE=semaphore
- MYSQL_USER=semaphore
- MYSQL_PASSWORD=12345
restart: unless-stopped
semaphore:
container_name: ansiblesemaphore
image: semaphoreui/semaphore:v2.8.90
user: "${UID}:${GID}"
ports:
- 3000:3000
environment:
- SEMAPHORE_DB_USER=semaphore
- SEMAPHORE_DB_PASS=12345
- SEMAPHORE_DB_HOST=mysql
- SEMAPHORE_DB_PORT=3306
- SEMAPHORE_DB_DIALECT=mysql
- SEMAPHORE_DB=semaphore
- SEMAPHORE_PLAYBOOK_PATH=/tmp/semaphore/
- SEMAPHORE_ADMIN_PASSWORD=12345
- SEMAPHORE_ADMIN_NAME=admin
- SEMAPHORE_ADMIN_EMAIL=admin@localhost
- SEMAPHORE_ADMIN=admin
- SEMAPHORE_ACCESS_KEY_ENCRYPTION=7pFB9MtivDLImlqYvbSooZW1MGXAkDoJYpAA00Y7nL4=
- ANSIBLE_HOST_KEY_CHECKING=false
volumes:
- ./inventory/:/inventory:ro
- ./authorized-keys/:/authorized-keys:ro
- ./config/:/etc/semaphore:rw
restart: unless-stopped
depends_on:
- mysql
- Access_Key_encryp
head -c32 /dev/urandom | base64
- Run
docker-compose up -d
4. Binary file
wget https://github.com/ansible-semaphore/semaphore/releases/\
download/v2.8.75/semaphore_2.8.75_linux_amd64.tar.gz
tar xf semaphore_2.8.75_linux_amd64.tar.gz
./semaphore setup
./semaphore service --config=./config.json
Replace /path/to/semaphore and /path/to/config.json to your semaphore and config file path
sudo cat > /etc/systemd/system/semaphore.service <<EOF
[Unit]
Description=Semaphore Ansible
Documentation=https://github.com/ansible-semaphore/semaphore
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
ExecReload=/bin/kill -HUP $MAINPID
ExecStart=/path/to/semaphore service --config=/path/to/config.json
SyslogIdentifier=semaphore
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl start semaphore
sudo systemctl status semaphore
sudo systemctl enable semaphore
Setup Ansible GUI Via Docker
- Misal menggunakan OS Centos
- Install docker -> https://hendro-wibiksono.web.id/2021/11/12/cara-install-docker-dan-docker-compose-pada-centos-8-almalinux-rocky-linux/
- Install Ansible -> https://hendro-wibiksono.web.id/2022/04/21/cara-install-ansible-pada-centos-7/
- Siapkan ssh key bisa gunakan command :
ssh-keygen
Tampilan GUI akses http://IP:3000
- Buat Project
- Dashboard full
- Membuat Key store
more /root/.ssh/id_rsa.pub
- Membuat Inventory
Menggunakan sudo-key ( user + password )
Menggunakan SSH-key ( pubkey)
- Repositories
- Environtment
- Task Template
Klik Run
Hasil nya :
Kita Coba Run lagi
Test Cronjob
Tutorial Youtube
Penutup
Sahabat Blog Learning & Doing demikianlah penjelasan mengenai Cara Install Ansible GUI ( Ansible Semaphore ) pada Linux. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.