GitHub Actions 워크플로우 생성기

다음

CI가 없는 새 GitHub 저장소는 다음 배포 실패까지 git push 한 번 거리에 있습니다. 이 생성기는 Node, PHP 또는 Laravel용 시작 .github/workflows/ci.yml을 작성하여 체크아웃, 올바른 런타임 액션, 의존성 설치, 표준 테스트 명령을 연결해 줍니다. 초록/빨강 점을 켜는 데 필요한 모든 것을 갖췄습니다.

워크플로를 생성하는 방법

  1. 1

    스택을 선택하세요

    Node(`actions/setup-node` 사용), PHP(`shivammathur/setup-php` 사용) 또는 Laravel(PHP + `php artisan test` 사용).

  2. 2

    메인 브랜치를 설정하세요

    `main`이 기본값입니다. 저장소가 여전히 `master`나 사용자 지정 이름을 사용한다면 이를 덮어쓰세요.

  3. 3

    생성

    이 도구는 해당 브랜치에 `push` 및 `pull_request` 트리거가 포함된 YAML 파일을 조립합니다.

  4. 4

    .github/workflows/에 커밋하세요

    `.github/workflows/ci.yml`에 파일을 만들고 push하면 다음 커밋에서 Actions 탭에 불이 들어옵니다.

워크플로우의 모습

name: CI
on:
  push:
    branches: [main]
  pull_request:
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.4'
      - run: composer install --no-interaction
      - run: php artisan test

생성기가 고정하는 액션

액션 목적
actions/checkout@v4 저장소를 러너로 클론합니다
actions/setup-node@v4 Node 툴체인을 설치합니다
shivammathur/setup-php@v2 확장 기능이 포함된 PHP 버전을 설치합니다

다음에 추가할 내용

  • 테스트 단계 전에 두는 Lint 단계(npm run lint, ./vendor/bin/phpstan analyse).
  • 매트릭스 빌드: strategy.matrix를 사용해 여러 Node/PHP 버전에서 실행합니다.
  • 커버리지 업로드: 테스트 단계 후에 codecov-action 또는 coveralls-action을 실행합니다.
  • 시크릿: 토큰을 절대 하드코딩하지 마세요. secrets.XXX를 사용하고 Settings → Actions에서 정의합니다.

흔한 함정

  • 태그 가져오기를 잊는 경우: 릴리스 로직이 태그를 읽는다면 checkoutwith: { fetch-depth: 0 }을 지정하세요.
  • latest Docker 이미지 사용: 수개월 후에도 실행을 재현할 수 있도록 버전을 고정하세요.
  • 푸시할 때마다 30분짜리 테스트 스위트 실행: 긴 작업은 needs:로 나눠 병렬화하세요.

자주 묻는 질문

저장소 루트의 .github/workflows/ci.yml에 두세요. GitHub은 해당 디렉터리 아래의 모든 YAML을 인식하여 Actions 탭에서 각각 별도의 워크플로우로 표시합니다.

포크에서의 풀 요청은 워크플로를 실행하지만 GITHUB_TOKEN는 읽기 전용으로 설정되어 있습니다. 외부 기여자는 명시적으로 허가하지 않는 한 귀하의 비밀 정보에 접근할 수 없습니다.

setup-php 단계에 strategy.matrix.php: [8.2, 8.3, 8.4] 블록을 추가하고 ${{ matrix.php }}를 참조하세요. 런너는 각 버전마다 병렬로 하나의 작업을 생성합니다.

아니요. 생성된 YAML은 페이지에 표시될 뿐 어디에도 업로드되거나 저장되지 않으며, 직접 복사해서 사용하세요.

관련 도구

이 도구는 다른 언어로도 제공됩니다