Hành động GitHub trong Ansible

Hanh Dong Github Trong Ansible



Ansible là một công cụ tự động hóa nguồn mở, miễn phí và phổ biến cho phép chúng tôi tự động hóa các tác vụ DevOps như quản lý cấu hình, triển khai ứng dụng, v.v.

Việc kết hợp Ansible với GitHub Actions cho phép chúng tôi tự động hóa việc thực thi Playbook Ansible bất cứ khi nào một sự kiện cụ thể xảy ra trong kho lưu trữ, chẳng hạn như việc đẩy tới nhánh chính.







Hướng dẫn này hướng dẫn bạn cách thiết lập Hành động GitHub để chạy Playbook Ansible, hữu ích cho việc tự động hóa quá trình triển khai nhằm đáp ứng các thay đổi về mã.



Điều kiện tiên quyết:

Trước khi tiếp tục, hãy đảm bảo rằng bạn có những điều sau:



  • Tài khoản GitHub
  • Kho lưu trữ GitHub hiện có
  • Kiến thức cơ bản về Ansible playbook
  • Một máy mục tiêu nơi Ansible có thể chạy các tác vụ. Đảm bảo rằng Ansible có thể kết nối với các máy này từ trình chạy GitHub.

Bước 1: Thiết lập môi trường Ansible

Tạo và lưu trữ Playbook Ansible cũng như tất cả các tệp liên quan trong kho GitHub. Điều này sẽ bao gồm các tệp như mẫu vai trò, biến, v.v.





Một playbook ví dụ như sau:

---
- name: Đảm bảo Nginx được cài đặt trên máy chủ web
máy chủ: máy chủ web
trở thành: vâng
nhiệm vụ:
- tên: Cập nhật bộ đệm apt
đúng cách:
update_cache: có

- tên: Cài đặt Nginx
đúng cách:
Tên: nginx
trạng thái: hiện tại

Đảm bảo rằng bạn có tệp kiểm kê chỉ định máy mục tiêu cho Ansible.



Bước 2: Thiết lập Bí mật trong Kho lưu trữ GitHub

Vì playbook cần thông tin nhạy cảm như khóa SSH hoặc mật khẩu, GitHub cung cấp cách lưu trữ bí mật một cách an toàn:

Điều hướng đến kho lưu trữ GitHub của bạn.

Đi tới Cài đặt > Bí mật và biến -> Hành động  -> Bí mật kho lưu trữ mới.

Bước 3: Tạo quy trình làm việc hành động GitHub

Trong kho lưu trữ, tạo thư mục “.github/workflows”. Trong thư mục này, hãy tạo tệp YAML cho quy trình làm việc của bạn.

Thêm quy trình làm việc như sau:

Tên: Chạy Ansible Playbook
TRÊN:
xô:
chi nhánh:
- bậc thầy
công việc:
triển khai:
đang chạy: ubuntu-mới nhất
các bước:
- Tên: Mã thanh toán
sử dụng: hành động/checkout@v2
- name: Thiết lập SSH key
chạy: |
echo '${{ Secrets.SSH_PRIVATE_KEY }}' > Private_key.pem
chmod 600 Private_key.pem
- tên: Chạy Ansible Playbook
chạy: |
cập nhật sudo apt
cài đặt sudo apt -y ansible
ansible-playbook -ihost.ini my-playbook.yml --private-key=private_key.pem --user=${{ secret.REMOTE_USER }}

Bước 4: Kích hoạt quy trình làm việc

Bất cứ khi nào bạn đẩy tới nhánh chính, GitHub sẽ tự động chạy quy trình làm việc này và do đó thực thi cẩm nang.

Phần kết luận

Đó là nó cho cái này. Chúng tôi đã đề cập đến cách chạy Playbook Ansible bằng các hành động trên Github.