正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

リリースフィールド

リリースを作成または編集する際に、以下のフィールドが利用できます。

タイトル

リリースの作成または編集時に、リリースタイトルフィールドを使用してリリースタイトルをカスタマイズできます。タイトルが指定されていない場合、リリースのタグ名が代わりに使用されます。

タグ名

リリースのタグ名には、リリースのバージョンを含める必要があります。GitLabはリリースにセマンティックバージョニングを使用しており、あなたもそれを使用できます。GitLab Policy forバージョニングに詳述されているように、(Major).(Minor).(Patch)を使用します。

たとえば、GitLabバージョン16.10.1の場合:

  • 16はメジャーバージョンを表します。メジャーリリースは16.0.0でしたが、しばしば16.0と表記されます。
  • 10はマイナーバージョンを表します。マイナーリリースは16.10.0でしたが、しばしば16.10と表記されます。
  • 1はパッチ番号を表します。

バージョン番号のどの部分も複数桁にすることができます。たとえば、16.10.11です。

リリースノートの説明

すべてのリリースには説明があります。好きなテキストを追加できますが、リリースの内容を説明するために変更履歴を含めることを検討してください。これにより、ユーザーは公開する各リリース間の差分を素早く確認できます。

タグ付けmessages in Gitは、Include tag message in the release notesを選択することでリリースノートの説明に含めることができます。

説明はMarkdownをサポートしています。

リリースアセット

リリースには以下の種類のアセットが含まれます:

ソースコード

GitLabは、指定されたGitタグから、ziptar.gztar.bz2tarのアーカイブされたソースコードを自動的に生成します。これらのアセットは読み取り専用で、ダウンロード可能です。

リンクとは、ドキュメント、ビルドされたバイナリ、またはその他の関連資料など、任意のものを指すことができるURLです。これらは、GitLabインスタンスからの内部リンクと外部リンクの両方になり得ます。URLは、httphttps、またはftpのいずれかのスキームを使用する必要があります。アセットとしての各リンクには、以下の属性があります:

属性必須説明
nameはいリンクの名前。
urlはいファイルをダウンロードするためのURL。
filepathいいえurlへのリダイレクトリンク。スラッシュ(/)で始まる必要があります。詳細については、このセクションを参照してください。
link_typeいいえユーザーがurlでダウンロードできるコンテンツの種類。詳細については、このセクションを参照してください。

リリースに関連付けられたアセットは、永続的なURLを介してアクセスできます。GitLabは常にこのURLを実際のアセットの場所にリダイレクトするため、アセットが別の場所に移動しても、同じURLを使い続けることができます。これは、リンク作成または更新中に、filepath API属性を使用して定義されます。

URLの形式:

https://host/namespace/project/-/releases/:release/downloads:filepath

たとえば、gitlab.com上のgitlab-orgネームスペースおよびgitlab-runnerプロジェクト内のv16.9.0-rc2リリース用のアセットがある場合:

{
  "name": "linux amd64",
  "filepath": "/binaries/gitlab-runner-linux-amd64",
  "url": "https://gitlab-runner-downloads.s3.amazonaws.com/v16.9.0-rc2/binaries/gitlab-runner-linux-amd64",
  "link_type": "other"
}

このアセットには直接リンクがあります:

https://gitlab.com/gitlab-org/gitlab-runner/-/releases/v16.9.0-rc2/downloads/binaries/gitlab-runner-linux-amd64

アセットの物理的な場所はいつでも変更される可能性がありますが、直接リンクは変更されません。

リリースがプライベートである場合、リクエストを行う際にprivate_tokenクエリパラメータまたはHTTP_PRIVATE_TOKENヘッダーを使用して、apiまたはread_apiスコープのいずれかのパーソナルアクセストークンを提供する必要があります。例:

curl --location --output filename "https://gitlab.example.com/my-group/my-project/-/releases/myrelease/downloads/<path-to-file>?private_token=<your_access_token>"
curl --location --output filename --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/my-group/my-project/-/releases/myrelease/downloads/<path-to-file>"

リリースアセットへのパーマリンクfilepathを、最新のリリースへのパーマリンクと組み合わせて使用できます。filepathはスラッシュ(/)で始まる必要があります。

URLの形式:

https://host/namespace/project/-/releases/permalink/latest/downloads:filepath

この形式を使用して、最新のリリースからのアセットへの永続的なリンクを提供できます。

たとえば、gitlab.com上のgitlab-orgネームスペースおよびgitlab-runnerプロジェクト内のv16.9.0-rc2最新リリースのfilepathを含むアセットがある場合:

{
  "name": "linux amd64",
  "filepath": "/binaries/gitlab-runner-linux-amd64",
  "url": "https://gitlab-runner-downloads.s3.amazonaws.com/v16.9.0-rc2/binaries/gitlab-runner-linux-amd64",
  "link_type": "other"
}

このアセットには直接リンクがあります:

https://gitlab.com/gitlab-org/gitlab-runner/-/releases/permalink/latest/downloads/binaries/gitlab-runner-linux-amd64

リンクの種類は、「手順書」、「パッケージ」、「Image」、「Other」の4種類です。link_typeパラメータは、以下の4つの値のいずれかを受け入れます:

  • runbook
  • package
  • image
  • other(デフォルト)

このフィールドはURLには影響せず、プロジェクトのリリースページでの視覚的な目的のみに使用されます。

バイナリを添付するための汎用パッケージを使用する

汎用パッケージを使用して、リリースまたはタグパイプラインからの任意のアーティファクトを保存でき、これらは個々のリリースエントリにバイナリファイルを添付するためにも使用できます。基本的には、次のことを行う必要があります:

  1. アーティファクトを汎用パッケージレジストリにプッシュする。
  2. パッケージリンクをリリースに添付する。

以下の例は、リリースアセットを生成し、それを汎用パッケージとして公開してから、リリースを作成します:

stages:
  - build
  - upload
  - release

variables:
  # Package version can only contain numbers (0-9), and dots (.).
  # Must be in the format of X.Y.Z, and should match the /\A\d+\.\d+\.\d+\z/ regular expression.
  # See https://docs.gitlab.com/user/packages/generic_packages/#publish-a-package
  PACKAGE_VERSION: "1.2.3"
  DARWIN_AMD64_BINARY: "myawesomerelease-darwin-amd64-${PACKAGE_VERSION}"
  LINUX_AMD64_BINARY: "myawesomerelease-linux-amd64-${PACKAGE_VERSION}"
  PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/myawesomerelease/${PACKAGE_VERSION}"

build:
  stage: build
  image: alpine:latest
  rules:
    - if: $CI_COMMIT_TAG
  script:
    - mkdir bin
    - echo "Mock binary for ${DARWIN_AMD64_BINARY}" > bin/${DARWIN_AMD64_BINARY}
    - echo "Mock binary for ${LINUX_AMD64_BINARY}" > bin/${LINUX_AMD64_BINARY}
  artifacts:
    paths:
      - bin/

upload:
  stage: upload
  image: curlimages/curl:latest
  rules:
    - if: $CI_COMMIT_TAG
  script:
    - |
      curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file bin/${DARWIN_AMD64_BINARY} "${PACKAGE_REGISTRY_URL}/${DARWIN_AMD64_BINARY}"
    - |
      curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file bin/${LINUX_AMD64_BINARY} "${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_BINARY}"

release:
  # Caution, as of 2021-02-02 these assets links require a login, see:
  # https://gitlab.com/gitlab-org/gitlab/-/issues/299384
  stage: release
  image: registry.gitlab.com/gitlab-org/cli:latest
  rules:
    - if: $CI_COMMIT_TAG
  script:
    - |
      glab release create "$CI_COMMIT_TAG" --name "Release $CI_COMMIT_TAG" \
        --assets-links="[{\"name\":\"${DARWIN_AMD64_BINARY}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${DARWIN_AMD64_BINARY}\"},{\"name\":\"${LINUX_AMD64_BINARY}\",\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_BINARY}\"}]"

PowerShellユーザーは、release-cliに渡す前に、JSON文字列内の二重引用符"を、--assets-linkおよびConvertTo-Jsonのためにバックティック`でエスケープする必要がある場合があります。例:

release:
  script:
    - $env:assets = "[{`"name`":`"MyFooAsset`",`"url`":`"https://gitlab.com/upack/artifacts/download/$env:UPACK_GROUP/$env:UPACK_NAME/$($env:GitVersion_SemVer)?contentOnly=zip`"}]"
    - $env:assetsjson = $env:assets | ConvertTo-Json
    - glab release create $env:CI_COMMIT_TAG --name "Release $env:CI_COMMIT_TAG" --notes "Release $env:CI_COMMIT_TAG" --ref $env:CI_COMMIT_TAG --assets-links=$env:assetsjson

ジョブアーティファクトリンクをリリースに直接添付することは推奨されません。なぜなら、アーティファクトは一時的なものであり、同じパイプライン内でデータを渡すために使用されるためです。これは、それらが期限切れになるか、誰かが手動で削除する可能性があるというリスクを意味します。

新規および合計機能の数

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com

GitLab.comでは、プロジェクト内の新規および合計機能の数を表示できます。

GitLabリリースにおける新規機能と合計機能の数を示すバッジ。

合計はshieldsに表示され、www-gitlab-comリポジトリ内のRakeタスクによってリリースごとに生成されます。

項目計算式
New featuresプロジェクト内の単一のリリースに対するすべてのティアにわたるリリース投稿の総数。
Total featuresプロジェクト内のすべてのリリースに対するリリース投稿の総数を逆順でカウント。

これらの数は、ライセンスティアごとにも表示されます。

項目計算式
New featuresプロジェクト内の単一のリリースに対する単一のティアにわたるリリース投稿の総数。
Total featuresプロジェクト内のすべてのリリースに対する単一のティアにわたるリリース投稿の総数を逆順でカウント。