مقدمه
GitHub Actions پلتفرم CI/CD است که به شما اجازه میدهد workflow ها را مستقیماً در مخزن GitHub خود اتوماتیک کنید. برای مهندسان زیرساخت، میتوان استقرارهای Terraform، اجرای playbook های Ansible، ساخت image های Docker و اعمال سیاستهای امنیتی را اتوماتیک کرد.
مثال: استقرار Terraform
YAML
name: Infrastructure Deploy
on:
push:
branches: [main]
paths: ['terraform/**']
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: hashicorp/setup-terraform@v3
- run: terraform fmt -check -recursive
- run: terraform init && terraform validate
working-directory: ./terraform/environments/staging
deploy:
needs: validate
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v4
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- run: terraform init && terraform apply -auto-approve
working-directory: ./terraform/environments/productionساخت Docker Image
YAML
- uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ghcr.io/${{ github.repository }}:${{ github.sha }}
cache-from: type=gha
cache-to: type=gha,mode=maxGitHub Actions مدیریت زیرساخت را از فرآیندهای دستی و مستعد خطا به pipeline های قابل ردیابی و تکرارپذیر تبدیل میکند.
