AIkisuDevOps

Automate CI with GitHub Actions

Set up automated CI/CD pipelines using GitHub Actions for your projects.

T
Trạm Dev
Automate CI with GitHub Actions

Automate CI with GitHub Actions

Set up automated CI/CD pipelines using GitHub Actions for your projects and improve development workflow efficiency.

What is CI/CD?

Continuous Integration (CI) and Continuous Deployment (CD) are practices that help developers deliver code changes more frequently and reliably.

GitHub Actions Overview

GitHub Actions is a CI/CD platform that allows you to automate your build, test, and deployment pipeline directly in your GitHub repository.

Basic Workflow

Create a .github/workflows/ci.yml file in your repository:

name: CI

on:
  push:
    branches: [ main, develop ]
  pull_request:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [18.x, 20.x]

    steps:
    - uses: actions/checkout@v4
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v4
      with:
        node-version: ${{ matrix.node-version }}
        cache: 'npm'
    - run: npm ci
    - run: npm run build
    - run: npm test

Advanced Features

Caching Dependencies

- name: Cache node modules
  uses: actions/cache@v3
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
    restore-keys: |
      ${{ runner.os }}-node-

Matrix Builds

Test across multiple Node.js versions and operating systems:

strategy:
  matrix:
    os: [ubuntu-latest, windows-latest, macos-latest]
    node-version: [16.x, 18.x, 20.x]

Deployment

Automate deployment to various platforms:

- name: Deploy to Vercel
  run: npx vercel --prod
  env:
    VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}

Best Practices

  1. Keep workflows simple - Break complex workflows into smaller, focused jobs
  2. Use caching - Cache dependencies and build artifacts
  3. Secure secrets - Store sensitive data in GitHub secrets
  4. Monitor usage - Be aware of GitHub Actions minutes limits

Conclusion

GitHub Actions provides a powerful and flexible platform for automating your development workflows, making it easier to maintain code quality and deploy reliably.

Tags

CI/CDGitHub Actions

Related AI Articles