트리거 정의
push, pull request, tag, manual dispatch와 path filter를 배포 단위에 맞춘다.
모든 변경에 모든 job을 돌릴 필요는 없다GitHub Actions를 쓰면 자동화가 된다는 설명만으로는 부족하다. 어떤 path 변경에 어떤 job이 돌고, package manager cache가 어디에 잡히며, typecheck와 test matrix가 어떤 Node 버전을 커버하고, artifact와 secrets가 어디까지 노출되는지 명확해야 한다.
push, pull request, tag, manual dispatch와 path filter를 배포 단위에 맞춘다.
모든 변경에 모든 job을 돌릴 필요는 없다package manager lockfile과 Node 버전을 cache key에 넣어 재현성과 속도를 맞춘다.
잘못된 캐시는 이상한 빌드를 만든다typecheck, lint, unit test, build, e2e를 실패 원인이 보이도록 분리한다.
하나의 거대한 job은 디버깅이 느리다지원 Node 버전이나 패키지 범위를 matrix로 나누고 fail-fast 정책을 정한다.
필수 범위만 넓힌다artifact, environment approval, secrets, rollback을 배포 job에 연결한다.
PR에서 secret이 노출되지 않게 한다