Pipeline CI/CD

File di configurazione

La pipeline è definita nel file coders.yaml nella root del progetto.

pipeline:
  stages:
    - name: install
      run: npm ci

    - name: lint
      run: npm run lint
      allow_failure: false

    - name: test
      run: npm run test:ci
      parallel: 4          # esegui in 4 worker paralleli

    - name: build
      run: npm run build
      artifacts:
        - dist/**

    - name: deploy
      trigger: on_success
      environment: production

Stages

Ogni stage può essere configurato con:

  • run — comando da eseguire
  • allow_failure — se true, il fallimento non blocca la pipeline
  • parallel — numero di worker paralleli
  • cache — cartelle da cachare tra le run
  • artifacts — file da conservare per stage successivi

Cache

pipeline:
  cache:
    - key: deps-{{ checksum "package-lock.json" }}
      paths:
        - node_modules/

Trigger condizionali

pipeline:
  stages:
    - name: deploy-prod
      run: coders deploy --env production
      only:
        branches: [main]

    - name: deploy-preview
      run: coders deploy --env preview
      except:
        branches: [main]

Notifiche

notifications:
  on_failure:
    slack: "#dev-alerts"
    email: team@example.com
  on_success:
    slack: "#deploys"