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의 부분 증가)
![](https://s1.md5.ltd/image/3cdb9f8d7d6c7a881b9bad46d5b7ac17.png)
총결산
이번에는 GiitHub Action의 워크플로우로 레이블과 릴리즈 노트를 제작했습니다.지금은 제출을 기반으로 발표 노트를 제작하는 형식이지만 제출 단위가 너무 가늘어 가능하면 리블릭 단위로 발표 노트를 정리하고 싶다.채용 단위로 정리할 수 있다면 따로 기사를 쓰고 싶습니다.만약 좋은 방법을 아는 사람이 있다면, 평어를 얻을 수 있다면 기쁘다!
참고 자료
Reference
이 문제에 관하여(Circleci로 depro를 한 후 GiitHub Actions로 라벨을 만들고 노트를 발행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/_kt15_/items/429f3835dbe4cd7edfd2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)