GitLab CI で Changelog を作成する

3257 ワード

はじめに

元ネタは以下。
GitHub上のChangeLogをCircleCIから自動生成する | フューチャー技術ブログ

元ネタは CircleCI を使っていたので、GitLab CI を使ってみる。
各ツールの代替は以下を使用する。

以下、作者の解説ページ
GitLabのMergeRequestからChangelogを生成するglchとGitLab Releaseを作成するglr - shiimaxx's blog

前提

  • GitLab は自前でホストしている。(e.g. https://gitlab.oppara.tv)
  • 以下のタグを打った時だけ、Release, Changelog を作成する。
    • vX.X.X (例: v1.12.3)

GitLab の設定

CI/CD Settings -> Variables で環境変数を設定する。

key value misc
GITLAB_API https://gitlab.oppara.tv/api/v4/
GITLAB_TOKEN プロジェクトのアクセストークン mask

.gitlab-ci.yml

.gitlab-ci.yml
stages:
  - release

release:
  stage: release
  image: golang:latest
  script:
    - go install github.com/shiimaxx/glch@latest
    - go install github.com/shiimaxx/glr@latest
    - go version
    - glch -version
    - glr -version
    - glr -body "$(glch --latest)" "${CI_COMMIT_TAG}"
  only:
    - /^v(\d+\.)?(\d+\.)?(\*|\d+)$/
  except:
    - branches

環境

  • GitLab CE: 13.12.10
  • GitLab Runner versions: 13.4.0