참고: GitHub 호스트 실행기는 현재 GitHub Enterprise Server에서 지원되지 않습니다. GitHub public roadmap에 예정된 향후 지원에 대해 자세히 알아볼 수 있습니다.
개요
GitHub Actions를 사용하면 애플리케이션 및 팀의 고유한 요구 사항에 맞게 워크플로를 사용자 지정할 수 있습니다. 이 가이드에서는 변수 사용, 스크립트 실행, 작업 간에 데이터 및 아티팩트 공유와 같은 몇 가지 필수 사용자 지정 기술에 대해 설명합니다.
워크플로에서 변수 사용
GitHub Actions에는 각 워크플로 실행에 대한 기본 환경 변수가 포함됩니다. 사용자 지정 환경 변수를 사용해야 하는 경우 YAML 워크플로 파일에서 해당 변수를 설정할 수 있습니다. 이 예제에서는 POSTGRES_HOST
와 POSTGRES_PORT
로 명명된 사용자 지정 변수를 만드는 방법을 보여 줍니다. 그런 다음 해당 변수를 node client.js
스크립트에 사용할 수 있습니다.
jobs:
example-job:
steps:
- name: Connect to PostgreSQL
run: node client.js
env:
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
자세한 내용은 "변수"을 참조하세요.
워크플로에 스크립트 추가
작업을 사용하여 스크립트 및 셸 명령을 실행할 수 있으며, 이후 할당된 실행기에서 실행됩니다. 이 예제에서는 작업에서 run
키워드를 사용하여 실행기에서 npm install -g bats
를 실행하는 방법을 보여 줍니다.
jobs:
example-job:
steps:
- run: npm install -g bats
예를 들어 스크립트를 작업으로 실행하려면 리포지토리에 스크립트를 저장하고 경로 및 셸 형식을 제공할 수 있습니다.
jobs:
example-job:
steps:
- name: Run build script
run: ./.github/scripts/build.sh
shell: bash
자세한 내용은 "GitHub Actions에 대한 워크플로 구문"을 참조하세요.
작업 간에 데이터 공유
작업이 동일한 워크플로의 다른 작업과 공유하려는 파일을 생성하거나 나중에 참조할 수 있도록 파일을 저장하려는 경우 GitHub에 아티팩트로 저장할 수 있습니다. 아티팩트는 코드를 빌드하고 테스트할 때 생성되는 파일입니다. 예를 들어 아티팩트는 이진 파일 또는 패키지 파일, 테스트 결과, 스크린샷 또는 로그 파일을 포함할 수 있습니다. 아티팩트는 만들어진 워크플로 실행과 연결되며 다른 작업에서 사용할 수 있습니다. 실행 내에서 호출되는 모든 작업 및 워크플로에는 해당 실행의 아티팩트에 대한 쓰기 액세스 권한이 있습니다.
예를 들어 파일을 만든 다음 아티팩트로 업로드할 수 있습니다.
jobs:
example-job:
name: Save output
steps:
- shell: bash
run: |
expr 1 + 1 > output.log
- name: Upload output file
uses: actions/upload-artifact@v3
with:
name: output-log-file
path: output.log
별도의 워크플로 실행에서 아티팩트를 다운로드하려면 actions/download-artifact
작업을 사용할 수 있습니다. 예를 들어, output-log-file
이라는 아티팩트를 다운로드할 수 있습니다.
jobs:
example-job:
steps:
- name: Download a single artifact
uses: actions/download-artifact@v3
with:
name: output-log-file
동일한 워크플로 실행에서 아티팩트를 다운로드하려면 업로드 작업이 완료될 때까지 시작되지 않도록 다운로드 작업이 needs: upload-job-name
을 지정해야 합니다.
아티팩트에 대한 자세한 내용은 "워크플로 데이터를 아티팩트로 저장"을 참조하세요.
다음 단계
GitHub Actions에 대한 학습을 계속하려면 "워크플로 정보.