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

リリースフィールド

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

タイトル

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

タグ名

リリースのタグ名には、リリースのバージョンを含める必要があります。GitLabでは、セマンティックバージョニングをリリースに使用しており、同様に使用することをお勧めします。GitLabのバージョニングポリシーで詳しく説明されているように、(Major).(Minor).(Patch)を使用します。

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

  • 16はメジャーバージョンを表します。メジャーリリースは16.0.0でしたが、16.0と呼ばれることがよくあります。
  • 10はマイナーバージョンを表します。マイナーリリースは16.1.0でしたが、16.1と呼ばれることがよくあります。
  • 1はパッチ番号を表します。

バージョン番号のどの部分も、複数の桁に増やすことができます(例:16.10.11)。

リリースノートの説明

すべてのリリースには説明が含まれています。任意のテキストを追加できますが、リリースの内容を説明するために変更履歴を含めることをお勧めします。これにより、公開する各リリース間の違いをユーザーがすばやくスキャンできます。

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

説明ではMarkdownがサポートされています。

リリースアセット

リリースには、次の種類のアセットが含まれています。:

ソースコード

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

リンクとは、ドキュメント、バイナリ、またはその他の関連資料など、必要なものを指すことができるURLのことです。これらは、GitLabインスタンスからの内部リンクと外部リンクの両方になります。アセットとしての各リンクには、次の属性があります。:

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

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

URLの形式:

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

たとえば、gitlab.comgitlab-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

アセットの物理的な場所はいつでも変更でき、直接リンクは変更されません。

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

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.comgitlab-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

リンクの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/ee/user/packages/generic_packages/#publish-a-package-file
  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に渡す前に、--assets-linkおよびConvertTo-Json`(バックティック)を使用して、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プロジェクト内のすべてのリリースについて、単一層にわたるリリース投稿の総数(逆順)。