Tindakan GitHub dalam Ansible

Tindakan Github Dalam Ansible



Ansible ialah alat automasi popular, percuma dan sumber terbuka yang membolehkan kami mengautomasikan tugas DevOps seperti pengurusan konfigurasi, penggunaan apl, dll.

Menggabungkan Ansible dengan Tindakan GitHub membolehkan kami mengautomasikan pelaksanaan buku permainan Ansible apabila peristiwa tertentu berlaku dalam repositori, seperti menolak ke cawangan utama.







Tutorial ini mengajar anda cara menyediakan Tindakan GitHub untuk menjalankan buku permainan Ansible yang berguna untuk mengautomasikan penggunaan sebagai tindak balas kepada perubahan kod.



Prasyarat:

Sebelum meneruskan, pastikan anda mempunyai perkara berikut:



  • Akaun GitHub
  • Repositori GitHub sedia ada
  • Pengetahuan asas buku permainan Ansible
  • Mesin sasaran di mana Ansible boleh menjalankan tugas. Pastikan Ansible boleh menyambung ke mesin ini daripada pelari GitHub.

Langkah 1: Sediakan Persekitaran Ansible

Cipta dan simpan buku main Ansible dan semua fail berkaitan dalam repositori GitHub. Ini harus termasuk fail seperti templat peranan, pembolehubah, dsb.





Contoh buku permainan adalah seperti berikut:

---
- nama: Pastikan Nginx dipasang pada pelayan web
hos: pelayan web
menjadi: ya
tugasan:
- nama: Kemas kini cache apt
sesuai:
kemas kini_cache: ya

- nama: Pasang Nginx
sesuai:
nama: nginx
negeri: sekarang

Pastikan anda mempunyai fail inventori yang menyatakan mesin sasaran untuk Ansible.



Langkah 2: Sediakan Rahsia dalam Repositori GitHub

Memandangkan buku main memerlukan maklumat sensitif seperti kunci SSH atau kata laluan, GitHub menyediakan cara untuk menyimpan rahsia dengan selamat:

Navigasi ke repositori GitHub anda.

Pergi ke Tetapan > Rahsia dan Pembolehubah -> Tindakan  -> Rahsia Repositori Baharu.

Langkah 3: Cipta Aliran Kerja Tindakan GitHub

Dalam repositori, buat direktori '.github/workflows'. Di dalam direktori ini, buat fail YAML untuk aliran kerja anda.

Tambahkan aliran kerja seperti berikut:

nama: Run Ansible Playbook
pada:
tolak:
cawangan:
- tuan
pekerjaan:
gunakan:
runs-on: ubuntu-latest
langkah-langkah:
- nama: Kod daftar keluar
kegunaan: actions/checkout@v2
- nama: Menyediakan kunci SSH
lari: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- nama: Run Ansible Playbook
lari: |
kemas kini sudo apt
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

Langkah 4: Cetuskan Aliran Kerja

Setiap kali anda menolak ke cawangan induk, GitHub akan menjalankan aliran kerja ini secara automatik dan dengan itu melaksanakan buku main.

Kesimpulan

Itu sahaja untuk yang ini. Kami membincangkan cara menjalankan buku permainan Ansible menggunakan tindakan Github.