GitHub Actions — CI/CD inside GitHub.
1# .github/workflows/ci.yml2name: CI3on:4 push:5 branches: [main]6 pull_request:7 branches: [main]89jobs:10 test:11 runs-on: ubuntu-latest12 strategy:13 matrix:14 node-version: [16, 18, 20]15 steps:16 - uses: actions/checkout@v417 - uses: actions/setup-node@v418 with:19 node-version: ${{ matrix.node-version }}20 - run: npm ci21 - run: npm test2223 build:24 needs: test25 runs-on: ubuntu-latest26 steps:27 - uses: actions/checkout@v428 - run: docker build -t myapp .29 - run: docker push ghcr.io/${{ github.repository }}3031 deploy:32 needs: build33 if: github.ref == 'refs/heads/main'34 runs-on: ubuntu-latest35 environment: production36 steps:37 - uses: actions/checkout@v438 - run: kubectl apply -f k8s/
Features: