Automation Markets
GitHub Actions에서는 자동화 마켓플레이스를 통해 다양한 커뮤니티 제작 액션과 워크플로우 템플릿을 쉽게 찾아 설치할 수 있습니다. 이를 활용하면 복잡한 CI/CD 파이프라인 구축과 워크플로우 자동화를 간편하게 구현할 수 있습니다.
Marketplace
Marketplace는 개발자들이 자신들의 워크플로우에 통합할 수 있는 다양한 액션과 애플리케이션을 제공하는 플랫폼입니다. GitHub에서 공식적으로 지원하는 액션부터 커뮤니티가 제작한 다양한 도구까지 폭넓게 제공됩니다.
checkout
checkout 액션은 워크플로우 실행 시 저장소의 코드를 체크아웃하는 데 사용됩니다. 이를 통해 이후 단계에서 코드에 접근하고 빌드, 테스트, 배포 작업을 수행할 수 있습니다.
- name: Checkout code
uses: actions/checkout@v5
setup
setup 액션은 특정 프로그래밍 언어나 도구의 환경을 설정하는 데 사용됩니다.
setup-python: 파이썬 환경 설정setup-node: Node.js 환경 설정
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.10" # Python 3.10 설정
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: "14" # Node.js 14 설정
cache
cache 액션은 의존성 파일이나 빌드 결과물을 캐싱하여 워크플로우 실행 속도를 향상시키는 데 사용됩니다. 동일한 작업이 반복될 때 실행 시간을 단축할 수 있습니다.
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
path: ~/.cache/pip # 캐시할 경로
key: $-pip-$ # 캐시 키
- if: steps.cache-dependencies.outputs.cache-hit != 'true' # 캐시가 없을 때만 실행
name: Install dependencies
run: pip install -r requirements.txt # 의존성 설치
artifact
artifact 액션은 빌드 결과물이나 테스트 결과를 업로드 및 다운로드하는 데 사용됩니다. 빌드 아티팩트를 저장하고 공유할 수 있습니다.
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: test-results
path: ./upload-results/ # 업로드할 파일 경로
- name: Download Artifact
uses: actions/download-artifact@v5
with:
name: test-results
path: ./downloaded-results/ # 다운로드할 파일 경로
release
release 액션은 저장소에서 릴리즈를 생성하고 관리하는 데 사용됩니다. 버전 태그를 기준으로 릴리즈 노트를 자동 생성하고, 릴리즈를 배포할 수 있습니다.
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: $
with:
tag_name: $
release_name: Release $
draft: false # 초안 여부
prerelease: false # 사전 릴리즈 여부
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: $
with:
upload_url: $ # 릴리즈 업로드 URL
asset_path: ./path/to/asset.zip # 업로드할 파일 경로
asset_name: asset.zip # 업로드할 파일 이름
asset_content_type: application/zip # 업로드할 파일 콘텐츠 타입