GitHub Actions 기초
6. 연습 문제
문제 1. push·PR·수동 실행 트리거 작성
main 브랜치로 push 될 때, main 대상 PR 이 열리거나 갱신될 때, 그리고 수동 실행 버튼을 눌렀을 때 모두 실행되는 on: 을 쓰세요.
on: { push: { branches: [main] }, pull_request: { branches: [main] }, workflow_dispatch: {} }세 트리거를 나란히 적으면 셋 중 하나만 맞아도 워크플로가 실행됩니다.
문제 2. run 과 uses 구분
저장소 코드를 내려받는 스텝과 mvn test 를 실행하는 스텝 중 어느 것이 run: 이고 어느 것이 uses: 인지 이유와 함께 쓰세요.
저장소 코드 내려받기 → uses: actions/checkout@v4 (재사용 액션)
mvn test 실행 → run: mvn test (셸 명령)외부 액션을 불러오면 uses:, 셸 명령을 직접 쓰면 run: 입니다.
문제 3. Java 11·17·21 매트릭스 작성
세 가지 Java 버전으로 같은 잡을 병렬 실행하는 strategy 를 쓰세요.
strategy:
matrix:
java: [11, 17, 21]actions/setup-java 의 java-version 에 ${{ matrix.java }} 를 넣으면 세 번 반복됩니다.
문제 4. 시크릿을 쓰는 배포 스텝 작성
DEPLOY_TOKEN 이라는 시크릿을 읽어 배포 명령에 넘기는 스텝을 쓰세요.
- name: 배포
run: ./deploy.sh --token "${{ secrets.DEPLOY_TOKEN }}"값은 로그에서 자동으로 *** 마스킹되므로 원문이 그대로 노출되지 않습니다.
문제 5. 빌드 산출물 업로드 스텝 작성
out 폴더를 build-output 이라는 이름의 아티팩트로 올리는 스텝을 쓰세요.
- uses: actions/upload-artifact@v4
with:
name: build-output
path: outname 은 화면에 표시될 아티팩트 이름, path 는 올릴 파일·폴더 경로입니다.