Ansible'da GitHub Eylemleri

Ansible Da Github Eylemleri



Ansible, yapılandırma yönetimi, uygulama dağıtımı vb. DevOps görevlerini otomatikleştirmemize olanak tanıyan popüler, ücretsiz ve açık kaynaklı bir otomasyon aracıdır.

Ansible'ı GitHub Eylemleri ile birleştirmek, bir depoda ana şubeye yapılan bir gönderim gibi belirli bir olay meydana geldiğinde Ansible oyun kitaplarının yürütülmesini otomatikleştirmemize olanak tanır.







Bu eğitimde, kod değişikliklerine yanıt olarak dağıtımı otomatikleştirmek için yararlı olan bir Ansible playbook'u çalıştırmak üzere bir GitHub Eyleminin nasıl kurulacağı öğretilir.



Önkoşullar:

Devam etmeden önce aşağıdakilere sahip olduğunuzdan emin olun:



  • GitHub hesabı
  • Mevcut bir GitHub deposu
  • Ansible oyun kitaplarına ilişkin temel bilgiler
  • Ansible'ın görevleri çalıştırabileceği bir hedef makine. Ansible'ın bu makinelere bir GitHub çalıştırıcısından bağlanabildiğinden emin olun.

1. Adım: Ansible Ortamını Kurun

Ansible çalışma kitabını ve ilgili tüm dosyaları GitHub deposunda oluşturun ve saklayın. Bu, rol şablonları, değişkenler vb. gibi dosyaları içermelidir.





Örnek bir oyun kitabı aşağıdaki gibidir:

---
- ad: Web sunucularında Nginx'in kurulu olduğundan emin olun
ana bilgisayarlar: web sunucusu
haline: evet
görevler:
- ad: Apt önbelleğini güncelle
uygun:
update_cache: evet

- ad: Nginx'i yükleyin
uygun:
isim: nginx
durum: mevcut

Ansible için hedef makineleri belirten bir envanter dosyanızın olduğundan emin olun.



Adım 2: GitHub Deposunda Sırları Ayarlayın

Başucu kitabının SSH anahtarları veya parolalar gibi hassas bilgilere ihtiyaç duyduğu göz önüne alındığında GitHub, sırları güvenli bir şekilde saklamanın bir yolunu sunar:

GitHub deponuza gidin.

Ayarlar > Gizli Bilgiler ve Değişkenler -> Eylemler -> Yeni Depo sırrı seçeneğine gidin.

3. Adım: GitHub Eylem İş Akışını Oluşturun

Depoda bir “.github/workflows” dizini oluşturun. Bu dizinin içinde iş akışınız için bir YAML dosyası oluşturun.

İş akışını aşağıdaki gibi ekleyin:

ad: Ansible Playbook'u Çalıştır
Açık:
itmek:
şubeler:
- usta
Meslekler:
dağıtmak:
devam eden: ubuntu-en son
adımlar:
- ad: Ödeme kodu
kullanımlar: eylemler/ödeme@v2
- ad: SSH anahtarının ayarlanması
çalıştır: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > Private_key.pem
chmod 600 Private_key.pem
- ad: Ansible Playbook'u Çalıştır
çalıştır: |
sudo apt güncellemesi
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

4. Adım: İş Akışını Tetikleyin

Ana şubeye her bastığınızda GitHub bu iş akışını otomatik olarak çalıştıracak ve böylece oyun kitabını çalıştıracaktır.

Çözüm

Bunun için bu kadar. Github eylemlerini kullanarak Ansible playbook'unun nasıl çalıştırılacağını ele aldık.