Thursday, April 4, 2024
Ansible Docker

Cara Install Ansible GUI ( Ansible Semaphore ) pada Linux

GUI

“Cara Install Ansible GUI ( Ansible Semaphore ) pada Linux”

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Run as a service

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

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.

(Visited 270 times, 1 visits today)

Similar Posts