概要
- Gitlabのバージョンが17.0になるにあたり、いくつかの破壊的変更が存在しているとアナウンスされているのでその内容をChatGPTに翻訳してもらってみた
- なお、上のは破壊的な変更点部分のみなので、17での全ての変更点を確認したかったらDeprecations and removals by version | GitLabを参照する必要がある
内容
セルフマネージドデプロイメント
Postgres 13の非推奨
- 全てのセルフマネージドの顧客に影響します。Postgres 14へのアップグレードを行わない場合、デプロイメントが機能しなくなります。
- Postgres 14は既にGitLab 16.2.0からサポートされています。
omniauth-azure-oauth2 gemの非推奨
- omniauth-azure-oauth2プロバイダを認証に使用しているセルフマネージドの顧客に影響します。
- omniauth_openid_connectへの移行を行わない場合、ユーザーはAzureのログインボタンを使用してサインインできなくなります。
Sidekiqオプションの最小並列数と最大並列数
- gitlab.rbで
sidekiq['min_concurrency']
およびsidekiq['max_concurrency']
が設定されているGitLabデプロイメントに影響します。 - 移行を行わない場合、デプロイメントが機能しなくなります。
CI
POST /api/v4/runnersエンドポイントでの登録トークンとサーバーサイドランナー引数
- ランナーをプロビジョニングするカスタム自動化に影響します。
- ランナープロビジョニングが無効になることにより、CIパイプラインが機能しなくなる可能性があります。
下流パイプラインでのファイルタイプ変数展開の修正
キャンセルされたジョブでもafter_script
キーワードが実行される
after_script
キーワードを使用するパイプラインに影響します。- 変更された動作により、パイプラインが正常に機能しなくなるか、予期せぬ結果を引き起こす可能性があります。
古いバージョンのJSON Webトークンが非推奨に、HashiCorp Vault統合ではデフォルトでCI_JOB_JWTを使用しなくなり、JWT /-/jwksインスタンスエンドポイントが非推奨に
CI_JOB_JWT
またはCI_JOB_JWT_V2
CI変数に依存するパイプラインに影響します。- 変数の削除により、Vault統合が機能しなくなるか、パイプラインが失敗する可能性があります。
CD
Kubernetes用GitLabエージェントのプルベースデプロイメント機能が非推奨に
- Kubernetes用GitLabエージェントをデプロイメントに使用しているプロジェクトに影響します。
- この変更により、Kubernetes用GitLabエージェントに依存するCDワークフローが機能しなくなる可能性があります。
- エージェント自体は非推奨にはなっておらず、クラスターとの通信、APIエンドポイントの利用、クラスター内のイベント情報をGitLabにプッシュする機能など、いくつかの機能に引き続き使用されます。
Kubernetesエージェントのオプションca-cert-fileが改名
- 自己署名証明書でKubernetesエージェントをインストールしている顧客に影響します。
- この変更は、エージェントを介してKubernetesクラスターをGitLabに接続するCDワークフローに影響を与える可能性があります。
パッケージ
npmパッケージのアップロードが非同期で行われるように変更
- npmまたはYarnパッケージをGitLabレジストリに公開しているプロジェクトに影響します。
- 非同期アップロードにより、公開直後にパッケージが利用可能であると期待するパイプラインが機能しなくなる可能性があります。
Dependency Proxy:アクセストークンに追加のスコープチェックが適用
- 不十分なスコープを持つグループアクセストークンや個人アクセストークンを使用してDependency Proxyを利用しているプロジェクトに影響します。
- 必要なスコープがないトークンは失敗するため、docker loginやdocker pullのリクエストが拒否され、パイプラインが機能しなくなる可能性があります。
Mavenリポジトリのグループ権限
- グループレベルでMavenリポジトリを使用しているが、ユーザー権限が正しく設定されていないプロジェクトに影響します。
- 正しい権限を持たないユーザーは要求されたパッケージにアクセスできなくなるため、これらのユーザーのパイプラインが機能しなくなる可能性があります。
GitLab.com
LinuxのGitLab SaaSランナーのOSバージョンアップグレード
- 古いDocker-in-DockerまたはKanikoバージョンを使用している
saas-linux-*-amd64
タグが付けられた共有ランナーを使用するパイプラインに影響します。 - 古いバージョンはコンテナランタイムを検出できずに失敗し、パイプラインが中断されます。
Windows Server 2019の非推奨化と2022への移行
shared-windows
およびwindows-1809
タグが付けられた共有ランナーを使用するパイプラインに影響します。- 影響を受けるジョブはランナーによって処理されず、パイプラインがブロックされます。
- .ymlファイルで非推奨のタグを検索することで、影響を受けるジョブを特定できます。
小規模なSaaSランナーのLinuxからのタグ削除
docker, east-c, gce, git-annex, linux, mongo, mysql, ruby, shared
などのタグが付けられた共有ランナーを使用するパイプラインに影響します。- 影響を受けるジョブはランナーによって処理されず、パイプラインがブロックされます。
- .ymlファイルで非推奨のタグを検索することで、影響を受けるジョブを特定できます。
Ultimateプラン
セキュリティポリシーのフィールド「newly_detected」と「match_on_inclusion」が非推奨に
- マージリクエスト承認ポリシー(以前のスキャン結果ポリシー)を有効にしていて、非推奨のキーワードを使用しているグループやプロジェクトに影響します。
- 移行を行わない場合、ポリシーによるルールの強制が機能しなくなり、コンプライアンス違反の可能性があります。
必須のパイプライン設定が非推奨に
- 必須のパイプライン設定を使用しているUltimateのセルフマネージド顧客に影響します。
- 移行を行わない場合、必要な設定はプロジェクトで使用されなくなり、インスタンス上で実行されるすべてのパイプラインに影響します。
プロキシベースのDASTが非推奨に
- 変数
DAST_BROWSER_SCAN
をfalseに設定してDASTを使用しているプロジェクトに影響します。 - 移行を行わない場合、既存のパイプラインでのDASTスキャンが失敗します。