GitHub Actions는 GitHub에서 제공하는 지속적인 통합(Continuous Integration, CI) 및 지속적인 배포(Continuous Deployment, CD) 서비스입니다. Github Actions의 특징은 다음과 같습니다!
간단한 예시를 들어보자면 Python 프로젝트의 경우 코드 푸시마다 자동으로 테스트를 실행하고 빌드를 수행하고, 테스트가 성공하면 배포할 수 있습니다. 이를 이용하여 이메일 알림, Slack 메시지 전송, Docker 컨테이너 빌드, 클라우드 서비스 배포 등의 작업등도 할 수 있습니다!
예시로 Repository가 업데이트 될때마다 Issue에 랜덤 정수를 등록하도록 해보겠습니다! (참고자료 - [github-actions])
Repository의 .github/workflows 폴더를 만들고 yml 파일을 만들어줍니다.
저는 add_random_number_shell.yml
이라고 만들었습니다!
name: Add Random Number to Issue
on:
push:
branches:
- main
jobs:
add_random_number_to_issue:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Generate random number
id: random_number
run: echo "::set-output name=random::$(shuf -i 1-1000 -n 1)"
- name: Create Issue
run: |
echo "Creating issue..."
curl -X POST -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/${{ github.repository }}/issues \
-d '{"title": "Random Number (Using shell): ${{ steps.random_number.outputs.random }}"}'
그리고 코드를 푸쉬해주세요!
그 후 Repository에 가서 Issues 탭과 Actions 탭을 확인을 해보면 다음과 같이 확인할 수 있습니다.
그럼 불친절한 포스팅은 이만…