Circleci로 depro를 한 후 GiitHub Actions로 라벨을 만들고 노트를 발행하는 방법
원래는 CircleaCI에서 디자인한 뒤 라벨을 수동으로 제작해 GiitHub에 push한 것인데 라벨 제작 부분은 GiitHub Actions로 자동화된 것이기 때문에 이 기사에서 요약하고자 합니다.(공책을 발표하는 김에...)
사전 준비
repo権限
는 필수입니다. 권한을 선택할 때 확인하십시오)GITHUB_TOKEN
의 명칭 설정을 전제로 진행)gitgg에 관해서는 메인 라인이 아니어서 시원해요.gittag을 사용하면 특정한 제출에 라벨을 붙일 수 있기 때문에 버전(v1.0.0 등)을 관리할 때 편리합니다.자세한 사용 방법은 다음을 참조하십시오.
https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%BF%E3%82%B0
설정 진행!
GiitHub Actions에서 수첩 제작 및 배포를 위한 워크플로우 추가
라벨을 만들 수 있는 동작이 있는지 찾았을 때
GitHub Tag
이 동작을 발견했다.GiitHub Tag을 사용하면 태그를 쉽게 만들 수 있기 때문에 이것을 사용합니다.나중에 다시 말씀드리지만 라벨 외에 발매 노트도 자동으로 제작됩니다.(너무 고마워요...)https://github.com/marketplace/actions/github-tag
설정 방법
기본적으로 모두 샘플이지만 설정은 다음과 같다.
.github/workflows/create_tag.yml
jobs:
create_tag:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v5
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: "minor"
- name: Publish release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.tag_version.outputs.new_tag }}
release_name: Release ${{ steps.tag_version.outputs.new_tag }}
body: ${{ steps.tag_version.outputs.changelog }}
CircleaCI에서 디버깅을 완료하면 GiitHub Actions가 워크플로우를 수행할 수 있습니다.CircleaCI와 GiitHub Action의 제휴 부분입니다.
GiitHub Action 측
우선 GiitHub Action 측에서 설정한다.
repository_dispatch
GiitHub Actions에서 외부 이벤트를 트리거하여 워크플로우를 실행하려면 repository_dispatch를 사용합니다.GiitHub 창고의 단점에 대해 POST를 통해 작업 절차를 수행할 수 있습니다.또한 워크플로우 측면, POST 측면
event_type
을 지정하여 특정 워크플로우만 수행할 수 있습니다.repository_작업 프로세스에 디스패치 설정 추가
방금 제작한 작업 흐름 과정은 다음과 같이 수정되었다.
따라서 요청
create_tag
event_type
이 포함된 경우에만 워크플로우를 수행할 수 있습니다..github/workflows/create_tag.yml
# 追加
name: Create Tag
on:
repository_dispatch:
types: [create_tag]
jobs:
create_tag:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Bump version and push tag
id: tag_version
uses: mathieudutour/github-tag-action@v5
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: "minor"
- name: Publish release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.tag_version.outputs.new_tag }}
release_name: Release ${{ steps.tag_version.outputs.new_tag }}
body: ${{ steps.tag_version.outputs.changelog }}
CircleaCI 측다음은 CircleaCI 측의 설정입니다.
GiitHub 창고의 단점에 대해 POST를 진행할 수 있습니다
POST에서 주의해야 할 점은 다음과 같은 세 가지입니다.
1. 미리 준비한 $GITHUBTOKEN
2. 대상 저장소의 URL
3. event_type
.circleci/config.yml
나는 아래와 같이 프로그램 주위의 설정에 보충했다.
.circleci/config.yml
# 既存のデプロイ周りの設定
...
- run:
name: Create Tag
command: |
curl -X POST -H "Authorization: token $GITHUB_TOKEN" -H "Accept: application/vnd.github.everest-preview+json" --data '{"event_type": "create_tag"}' <リポジトリのURL>/dispatches
이 설정으로 끝냅니다.사용법
다음은 사용법을 설명한다.
자세한 내용은 GiitHubTag 문서 보시고 대충 설명해 주시고 제출 정보에 특정한 접두사를 붙이면 버전이 좋은 느낌을 줄 수 있습니다.
다음은 대응하는 접두사의 일부분이다.
보내는 편지에 다음 접두사를 설정하면 탭의 버전이 더 좋은 느낌을 줍니다.(X의 부분 증가)
총결산
이번에는 GiitHub Action의 워크플로우로 레이블과 릴리즈 노트를 제작했습니다.지금은 제출을 기반으로 발표 노트를 제작하는 형식이지만 제출 단위가 너무 가늘어 가능하면 리블릭 단위로 발표 노트를 정리하고 싶다.채용 단위로 정리할 수 있다면 따로 기사를 쓰고 싶습니다.만약 좋은 방법을 아는 사람이 있다면, 평어를 얻을 수 있다면 기쁘다!
참고 자료
Reference
이 문제에 관하여(Circleci로 depro를 한 후 GiitHub Actions로 라벨을 만들고 노트를 발행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_kt15_/items/429f3835dbe4cd7edfd2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)