Mga Pagkilos sa GitHub sa Ansible

Mga Pagkilos Sa Github Sa Ansible



Ang Ansible ay isang sikat, libre, at open-source na automation tool na nagbibigay-daan sa amin na i-automate ang mga gawain sa DevOps gaya ng pamamahala ng config, deployment ng app,  atbp.

Ang pagsasama-sama ng Ansible sa GitHub Actions ay nagbibigay-daan sa amin na i-automate ang pagpapatupad ng mga Ansible na playbook sa tuwing may partikular na kaganapan na nagaganap sa isang repository, tulad ng isang push sa pangunahing sangay.







Itinuturo sa iyo ng tutorial na ito kung paano mag-set up ng GitHub Action para magpatakbo ng Ansible playbook na kapaki-pakinabang para sa pag-automate ng deployment bilang tugon sa mga pagbabago sa code.



Mga kinakailangan:

Bago magpatuloy, tiyaking mayroon kang sumusunod:



  • Isang GitHub account
  • Isang umiiral nang GitHub repository
  • Pangunahing kaalaman sa mga playbook ng Ansible
  • Isang target na makina kung saan maaaring patakbuhin ng Ansible ang mga gawain. Tiyaking makakakonekta ang Ansible sa mga machine na ito mula sa isang GitHub runner.

Hakbang 1: I-setup ang Ansible Environment

Gumawa at mag-imbak ng Ansible playbook at lahat ng nauugnay na file sa GitHub repository. Dapat itong magsama ng mga file gaya ng mga template ng tungkulin, variable, atbp.





Ang isang halimbawa ng playbook ay ang mga sumusunod:

---
- pangalan: Tiyaking naka-install ang Nginx sa mga web server
mga host: webserver
maging: oo
mga gawain:
- pangalan: I-update ang apt cache
apt:
update_cache: oo

- pangalan: I-install ang Nginx
apt:
pangalan: nginx
estado: kasalukuyan

Tiyaking mayroon kang file ng imbentaryo na tumutukoy sa mga target na makina para sa Ansible.



Hakbang 2: I-setup ang Mga Lihim sa GitHub Repository

Dahil kailangan ng playbook ng sensitibong impormasyon tulad ng mga SSH key o password, nagbibigay ang GitHub ng paraan upang ligtas na maiimbak ang mga lihim:

Mag-navigate sa iyong GitHub repository.

Pumunta sa Settings > Secrets and Variables -> Actions  -> New Repository secret.

Hakbang 3: Gumawa ng GitHub Action Workflow

Sa repositoryo, gumawa ng direktoryo ng “.github/workflows”. Sa loob ng direktoryong ito, lumikha ng YAML file para sa iyong daloy ng trabaho.

Idagdag ang daloy ng trabaho tulad ng sumusunod:

pangalan: Run Ansible Playbook
sa:
itulak:
mga sanga:
- master
mga trabaho:
i-deploy:
runs-on: ubuntu-latest
hakbang:
- pangalan: Checkout code
gumagamit ng: actions/checkout@v2
- pangalan: Pagse-set up ng SSH key
tumakbo: |
echo '${{ secrets.SSH_PRIVATE_KEY }}' > private_key.pem
chmod 600 private_key.pem
- pangalan: Run Ansible Playbook
tumakbo: |
sudo apt update
sudo apt install -y ansible
ansible-playbook -i hosts.ini my-playbook.yml --private-key=private_key.pem --user=${{ secrets.REMOTE_USER }}

Hakbang 4: I-trigger ang Workflow

Sa tuwing magtutulak ka sa master branch, awtomatikong papatakbuhin ng GitHub ang workflow na ito at sa gayon ay ipapatupad ang playbook.

Konklusyon

Iyon lang para sa isang ito. Tinalakay namin kung paano magpatakbo ng Ansible playbook gamit ang mga pagkilos ng Github.