Update CICD-Release-Test.yml #22
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to production # workflow 이름 지정 | |
on: | |
push: | |
branches: | |
- 'main*' # main로 시작하는 브랜치에 대한 pull request 이벤트 감지 | |
jobs: | |
build-and-deploy: | |
runs-on: ubuntu-latest # 실행할 runner 환경 지정 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.ref }} | |
# 코드를 checkout | |
- name: Build and test # 빌드 및 테스트 수행 | |
run: | | |
# Add build and test steps here | |
# 최근 commit의 메시지를 가져와서 message.txt 파일에 저장하고, output으로 message 변수에 저장 | |
- name: Merge commit message | |
run: | | |
git log -1 --pretty=%B > message.txt | |
echo "::set-output name=message::$(cat message.txt)" | |
id: merge_message | |
- name: Get Release Version | |
if: startsWith(steps.merge_message.outputs.message, 'Release') | |
id: extract_release_version # release 버전 추출 | |
run: | | |
echo "::set-output name=version::$(echo ${{ steps.merge_message.outputs.message }} | sed 's/Release //')" # release 태그로부터 version 정보 추출하여 output으로 설정 | |
- name: Create release tag | |
if: startsWith(steps.merge_message.outputs.message, 'Release') # startsWith 함수를 사용하여 message가 'Release'로 시작하는지 확인하고, tag 생성 | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ steps.extract_release_version.outputs.version }} # 반드시 v0.1.1와 같이 v 접두사가 들어가야 한다. | |
release_name: Release ${{ steps.extract_release_version.outputs.version }} v${{ github.run_number }} | |
body: ${{ steps.merge_message.outputs.message }} | |
draft: false | |
prerelease: false | |
- name: Deploy to production # 배포 단계 추가 | |
if: startsWith(steps.merge_message.outputs.message, 'Release') | |
run: | | |
# Add deployment steps here |