作者:Trix Cyrus
Waymap滲透測試工具:點這裡
TrixSec Github:點這裡
GitHub Actions 是整合到 GitHub 的自動化工具,提供自動化工作流程、CI/CD 管道、測試、程式碼品質檢查,甚至直接在儲存庫中部署的功能。它使您能夠使用 YAML 檔案定義工作流程,從而完全控制觸發器、環境和任務。
讓我們逐步建立一個基本的 CI 工作流程,以便在推送新提交時測試和建置程式碼。
建立工作流程檔案
導航到儲存庫中的 .github/workflows 並建立一個名為 ci.yml 的檔案。
定義工作流程架構
name: CI Workflow on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '16' - name: Install dependencies run: npm install - name: Run tests run: npm test - name: Build project run: npm run build
為了確保程式碼質量,您可以在工作流程中新增 linting 步驟。
- name: Lint code run: npm run lint
在安裝依賴項之後新增此步驟有助於在管道早期識別程式碼品質問題。
現在,讓我們為雲端服務新增自動部署步驟,例如 AWS 或 Firebase。
設定 Firebase CLI
首先,在本機上安裝並設定 Firebase CLI。使用 firebase login:ci 產生令牌並將其儲存為 GitHub 機密 (FIREBASE_TOKEN)。
新增部署步驟
name: CI Workflow on: push: branches: - main pull_request: branches: - main jobs: build: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '16' - name: Install dependencies run: npm install - name: Run tests run: npm test - name: Build project run: npm run build
這裡,我們指定needs: build,表示此部署作業僅在建置作業成功完成後執行。
- name: Lint code run: npm run lint
deploy: needs: build runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: '16' - name: Install dependencies run: npm install - name: Build project run: npm run build - name: Deploy to Firebase env: FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }} run: | npm install -g firebase-tools firebase deploy
隨著專案的成長,請考慮透過在 YAML 檔案中定義工作流程_call 並在多個儲存庫中重複使用來建立可重複使用的工作流程,特別是對於程式碼格式化或安全掃描等任務。
使用 GitHub Actions 自動化 DevOps 工作流程可提高工作效率、減少人為錯誤並建立更強大的 CI/CD 管道。透過在後台無縫運行的工作流程,開發人員可以更專注於編寫程式碼,而不是部署任務。從測試開始,逐漸擴展到部署和監控,以最大限度地發揮 GitHub Actions 在 DevOps 之旅中的潛力。
本指南為使用 GitHub Actions 建置、測試和部署專案提供了基礎。一旦您熟悉了,您就可以透過自訂操作、整合和高級自動化進一步擴展,以實現完全優化的 DevOps 管道。
~TrixSec
以上是使用 GitHub Actions 自動化 DevOps 工作流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!