GitLab CE/EE Free 13.12リリースノート

日本アジア太平洋地域で唯一の[GitLab Core Team](https://about.gitlab.com/core-team/)の @tnir です。GitLab Japan/GitLab Tokyoオーガナイザとして[日本語圏でのマーケティングも注力](https://gitlab-jp.connpass.com/)しています。

統合開発ツールチェイン環境GitLab CE/EE [13.12が201年5月22日にリリース](https://about.gitlab.com/releases/2021/05/22/gitlab-13-12-released/)されました :tada:

当初はこの日（毎年5月22日）にGitLab 14.0がリリースされる予定でしたが、破壊的変更の修正スケジュールの調整のため、1ヶ月延期されています。詳細は[Addition of 13.12 Release for May 22, 2021](https://gitlab.com/gitlab-com/Product/-/issues/2337)をご覧ください。次回のメジャーリリース15.0が2022年5月22日になるかは特に決まっていません。

![](https://about.gitlab.com/images/13_12/13_12-cover-image.jpg)

↑背景画像はアメリカ中部の湖に沈む夕焼けの写真でした。

GitLabには、大きく分けてCommunity Edition (CE) とEnterprise Edition (EE) とありますが、本記事はCE（MITライセンス）またはEEで有償ライセンス登録なしで使えるFree機能のみにフォーカスしています。

----

今月は、チームの生産性を高めるためのユーザビリティとパイプライン管理の改善、展開をより安全にするための更新、DevOpsの採用をより成熟させるための洞察を紹介します。これらは、このリリースの44の改善のほんの一部です。

## セキュリティを管理する前にセキュリティの管理を支援

JavaScript、TypeScript、Python用の[Semgrep SASTアナライザー](#semgrep-sast-analyzer-for-javascript-typescript-and-python)が一般提供されるようになりました。 Semgrepの柔軟なルール構文は、[GitLabカスタムルールセット](https://docs.gitlab.co.jp/ee/user/application_security/sast/#customize-rulesets)機能を合理化して、検出ルールを拡張および変更するのに理想的であり、GitLab SASTユーザーからよくある要望でした。また、GitLabのユーザはSemgrepのコミュニティルールにアクセスできます。[@proletarius101](https://gitlab.com/proletarius101)からのコミュニティの貢献のおかげで、[モバイルアプリケーションセキュリティテスト](#mobile-application-binary-scanning-support)も拡張して、すでにサポートされているXcodeプロジェクトとAndroidマニフェストファイルに加えて、`.ipa` (iOS) と `.apk` (Android) のバイナリファイルが対応されました。

## 使いやすさを向上させるためのより簡単なパイプライン管理

パイプラインはユーザーのCI/CDの成功の中心であり、GitLabの新規および経験豊富なユーザーがより簡単に使用できるようにしたいと考えています。パイプラインエディターには、折りたたみ可能な[ガイド付き手順のパネル](#useful-gitlab-cicd-information-in-the-pipeline-editor)が付属し、新しいCI/CDユーザーが最初のパイプラインを簡単に作成できるようになります。

パイプラインの作成にさらに柔軟性が必要な経験豊富なCI/CDユーザー向けに、[`include:` キーワードのワイルドカード](#support-wildcards-when-include-yaml-cicd-configuration-files)をサポートしています。 `.gitlab-ci.yml` ファイルを複数の小さなファイルに分割して、再利用性と読みやすさを向上させます。また、[ルール内の変数を定義する](#support-variables-in-cicd-pipeline-workflowrules)機能を導入し、特定の条件が満たされたときにパイプライン変数を柔軟に設定できるようにしました。複雑なパイプラインを定義すると、ジョブ間に依存関係が生じる可能性があります。パイプライングラフが[ジョブ間の依存関係を表示](#show-job-dependencies-in-the-pipeline-graph)になり、ジョブが実行される予定の順序を視覚的に追跡して理解するのに役立ちます。

## DevOpsの成熟度を向上させるための洞察

このリリースでは、[@leetickett](https://gitlab.com/leetickett)からのコミュニティの貢献のおかげで、[タイムトラッキングレポート](#time-tracking-reports-for-issues-and-merge-requests)を使用して、各寄稿者が費やした時間を可視化します。

多くのユーザーにとって、マージリクエストはコラボレーションの中心的なスペースです。GitLab内の通常のワークフローの一部として必要なコンテキストを提供するためのマージリクエストの中に[失敗したテストのスクリーンショット](#failed-test-screenshots-in-test-report)を表示する機能を導入しました。。

## そしてもっとたくさん！

私たちは、すべてのリリースで製品の使いやすさを向上させるために投資を続けています。GitLab 13.12での私たちのお気に入りの開発者生活の質の改善のいくつかは次のとおりです。

- [管理者ユーザーテーブルにグループとプロジェクトの合計数を追加](#added-total-group-and-project-count-to-admin-users-table)
- [独自のElastic Stackを利用](#elastic-stack-cluster-integration)
- [APIを介してインシデントを作成](#create-incidents-via-api)
- [デプロイキーを削除時に、使用中の場合はユーザーに警告](#deleting-deploy-keys-will-inform-the-user-if-in-use)

その他の機能、パフォーマンスの強化、変更については、以下をお読みください。来月のリリースの予定をチラ見するには、[今後のリリース](https://about.gitlab.com/direction/kickoff/)ページと[14.0リリースのキックオフビデオ](https://youtube.com/playlist?list=PL05JrBw4t0Krdajp3voZbcFVXk3O8JpPO)をご覧ください。

## GitLab 13.12の主な機能

## パイプラインエディター中に便利なGitLab CI/CDツールチップ (Useful GitLab CI/CD information in the pipeline editor)
<a name="useful-gitlab-cicd-information-in-the-pipeline-editor"></a>

最初のGitLab CI/CDパイプラインを作成することは、特にCI/CDを初めて使用する場合は、難しい場合があります。 最初のパイプラインを構成するために、ドキュメントとGitLabを切り替えるのに時間を費やす場合があります。 このリリースでは、パイプラインエディターに役立つ情報を含むドロワーを追加して、最初のパイプラインを作成する手順をガイドします。

![](https://about.gitlab.com/images/13_12/drawer.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/pipeline_editor/
- https://gitlab.com/gitlab-org/gitlab/-/issues/296547

## CI/CDファイルの読み込み時のワイルドカードサポート (Support wildcards when including YAML CI/CD configuration files)
<a name="support-wildcards-when-include-yaml-cicd-configuration-files"></a>

CI/CDパイプラインの `includes:` キーワードを使用すると、1つの長い `.gitlab-ci.yml` ファイルを複数の小さなファイルに分割して読みやすさを向上させることができます。また、複数の場所で構成を再利用するのも簡単になります。多くの場合、1つのパイプラインに複数のファイルが含まれており、それらはすべて同じ場所に保存されている可能性があります。このリリースでは、ローカルの `includes:` キーワードで `*`　ワイルドカードを使用するためのサポートが追加されています。 `includes:` セクションをより動的で、冗長性が少なく、読みやすくすることができるようになりました。GitLab製品における[本機能のドッグフーディング](https://gitlab.com/gitlab-org/gitlab/-/commit/f0629cc5eaa70a29cb2d98e5e1e0915d4968840e)の様子を確認してください。

![](https://about.gitlab.com/images/13_12/wildcard1.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/yaml/README.html#includelocal-with-wildcard-file-paths
- https://gitlab.com/gitlab-org/gitlab/-/issues/25921

## パイプライングラフにジョブ依存関係を表示 (Show job dependencies in the pipeline graph)
<a name="show-job-dependencies-in-the-pipeline-graph"></a>

<iframe width="640" height="480" src="https://www.youtube.com/embed/hNBb_ykwJB8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

完全なパイプライングラフは、ステージごとにグループ化された、CI/CDパイプライン内のすべてのジョブの視覚的表現を提供します。この視覚化により、ジョブの進行状況を追跡し、ジョブが実行される順序の期待値を設定するのに役立ちます。

[`needs:` キーワード](https://docs.gitlab.co.jp/ee/ci/yaml/README.html#needs)の導入により、ジョブをより早く実行できるようにする有向非巡回グラフを作成できます。それらはステージによってのみ構成されました。ただし、これにより、パイプライングラフを見るときにあいまいさが生じます。これは、ジョブの実行が期待できる順序を判断するのが難しいためです。

このリリースでは、ジョブの順序がジョブ間の `needs:` 関係を反映している場合に、ジョブの依存関係ごとにパイプラインを表示できるようになりました。 また、特定のジョブを開始する前にどのジョブを完了する必要があるかを正確に確認するために、ジョブ間にリンクを追加しました。 `needs:` キーワードを使用すると、ジョブの依存関係と予想される実行順序を追跡して理解するのがはるかに簡単になります。 

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/pipelines/#view-job-dependencies-in-the-pipeline-graph
- https://gitlab.com/groups/gitlab-org/-/epics/4509

## テストレポートで失敗したテストのスクリーンショットを表示 (Failed test screenshots in test report)
<a name="failed-test-screenshots-in-test-report"></a>

GitLabを使用すると、チームは、失敗したテストのスクリーンショットをアーティファクトとしてキャプチャするSeleniumなどの自動化ツールを使用してエンドツーエンドのテストを簡単にセットアップできます。これは、失敗したテストをデバッグするために必要な特定のスクリーンショットを探すために、スクリーンショットの膨大なアーカイブを並べ替える必要があるまでは素晴らしいことです。最終的には、挫折のために諦め、ローカルでテストを再実行して、時間を無駄にするのではなく、問題の原因を突き止めようとする場合があります。

これで、パイプラインページのユニットテストレポートの詳細画面から、キャプチャしたスクリーンショットに直接リンクできます。これにより、キャプチャされたスクリーンショットをスタックトレースと一緒にすばやく確認して、何が失敗したかをできるだけ早く特定できます。

![](https://about.gitlab.com/images/13_12/link-to-screenshot-failed-test.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/unit_test_reports.html#viewing-junit-screenshots-on-gitlab
- https://gitlab.com/gitlab-org/gitlab/-/issues/216979

## GitLab 13.12のその他の改善

## 管理者向けユーザー一覧にグループ/プロジェクト数表示機能 (Added total group and project count to admin users table)
<a name="added-total-group-and-project-count-to-admin-users-table"></a>

以前は、ユーザーが属しているグループとプロジェクトの数を知ることは困難でした。特にコンプライアンス志向の組織は、アクセス管理ポリシーの一部として、どのユーザーがどのシステムまたはリソースにアクセスできるかを知りたいと考えています。この情報は、ユーザーのメンバーシップを可視化して、ユーザーのアクセスが多すぎるかどうか、役割や雇用の変更によってアクセスが残っているかどうかを確認したり、会社のプロジェクトへのユーザーの関与の範囲を判断したりするのに役立ちます。これで、監査目的でユーザーのメンバーシップの高レベルのビューを簡単に取得できます。

エクスポート可能な[ユーザーアクセスレポート](https://gitlab.com/groups/gitlab-org/-/epics/3155)に向けたこのイテレーションでは、セルフホスティングのインスタンスの管理画面にユーザーが属するグループとプロジェクトの総数を表示します。

![](https://about.gitlab.com/images/13_12/admin-users-project-group-count.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/admin_area/index.html#administering-users
- https://gitlab.com/groups/gitlab-org/-/epics/4432

## JavaScript, TypeScript, Python用Semgrep SASTアナライザー (Semgrep SAST Analyzer for JavaScript, TypeScript, and Python)
<a name="semgrep-sast-analyzer-for-javascript-typescript-and-python"></a>

GitLab 13.11では、JavaScript, TypeScriptおよびPython向けの新しいSASTアナライザーを[Semgrep](https://semgrep.dev/)の[実験的なリリース](https://about.gitlab.com/releases/2021/04/22/gitlab-13-11-released/#experimental-semgrep-analyzer-for-python-javascript-and-typescript)として発表しました。本リリースでのその改善は、開発者がより安全なコードを書くのを支援するという私たちの使命を共有するSemgrepの背後にある[r2c](https://r2c.dev/)チームとの[パートナーシップによる開発](https://about.gitlab.com/releases/2021/04/22/gitlab-13-11-released/#gitlab--semgrep-upgrading-sast-for-the-future)によるものです。何百人ものユーザーが[実験的アナライザー](https://docs.gitlab.co.jp/ee/user/application_security/sast/#experimental-features)を試した大規模なベータ版の後、Semgrepに移行を開始する準備が整いました。

13.12では、マネージドの `SAST.gitlab-ci.yml` CIテンプレートを更新して、この新しいアナライザーを既存のJavaScriptおよびTypeScriptアナライザーであるESlintと一緒に自動的に実行します。将来のリリースでは、ESLintを完全に無効にしますが、今のところ、Semgrepと連携して機能します。調査結果を重複排除する作業を行ったため、調査結果の違いに気付かないはずです。 `SAST.gitlab-ci.yml` を含める場合、Semgrepアナライザーのメリットを享受するために何もする必要はありませんが、独自のSAST CI構成をオーバーライドまたは管理する場合は、[CI構成を更新する必要があります](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml#L275)。

GitLabとr2cはどちらも、この移行の将来に興奮しており、高速で広範囲の静的アプリケーションセキュリティテスト（SAST）を提供します。今後も、新しいセキュリティ検出ルールを通じてSemgrepアナライザーを拡張し、他の言語にも対象範囲を拡大していきます。[フィードバック専用のイシュー](https://gitlab.com/gitlab-org/gitlab/-/issues/330578)を作成しました。ここで、この移行の経験を共有したり、質問したりできます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/application_security/sast/#supported-languages-and-frameworks
- https://gitlab.com/groups/gitlab-org/-/epics/5245

## モバイルアプリケーションバイナリスキャニングサポート (Mobile application binary scanning support)
<a name="mobile-application-binary-scanning-support"></a>

GitLab 13.6以降、[AndroidおよびiOSモバイルプロジェクト用のSAST](https://about.gitlab.com/releases/2020/10/22/gitlab-13-5-released/#sast-support-for-ios-and-android-mobile-apps)を提供してきました。当初、モバイルアプリSASTは、XcodeプロジェクトとAndroidマニフェストファイルのみの自動検出をサポートしていました。このリリースでは、コミュニティコントリビューター[@proletarius101](https://gitlab.com/proletarius101)からのコントリビューションにより、GitLab SASTは.ipa（iOS）および.apk（Android）バイナリファイルの自動検出もサポートするようになり、ビルド済みモバイルアプリケーションアーティファクトのセキュリティスキャンが可能になりました。これにより、モバイルチームは、セキュリティの脆弱性についてGitLab SASTを使用してモバイルプロジェクトをビルドおよびスキャンする方法に柔軟性を持たせることができます。
モバイルアプリケーションのスキャンはまだ実験的な機能であり、CIテンプレートで[実験的なフラグを有効にする必要がある](https://docs.gitlab.co.jp/ee/user/application_security/sast/#experimental-features)ことに注意してください。このフラグなしでモバイルアプリケーションスキャナーを[近い将来一般提供する予定です](https://gitlab.com/groups/gitlab-org/-/epics/5977)。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/application_security/sast/#supported-languages-and-frameworks
- https://gitlab.com/gitlab-org/gitlab/-/issues/269915

## CI/CDパイプラインの `workflow:rules` の中での変数サポート (Support variables in CI/CD pipeline 'workflow:rules')
<a name="support-variables-in-cicd-pipeline-workflowrules"></a>

以前は、 `rules` キーワードの範囲が制限されており、ジョブをパイプラインに含めるか除外するかのみが決定されていました。[13.8](https://about.gitlab.com/releases/2021/01/22/gitlab-13-8-released/#support-variables-for-pipeline-rules)で、 一致したルールに基づいてジョブの変数値を設定するための `rules` を含む `variables`キーワードを使えるようにしました。このリリースでは、この機能を `workflow:rules` に拡張したため、特定の条件が一致した場合にパイプライン全体に変数値を設定できます。これにより、パイプラインをさらに柔軟にすることができます。

![](https://about.gitlab.com/images/13_12/variable.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/yaml/#workflowrulesvariables
- https://gitlab.com/gitlab-org/gitlab/-/issues/294232

## イシューとマージリクエストごとのタイムトラッキングレポート (Time tracking reports for issues and merge requests)
<a name="time-tracking-reports-for-issues-and-merge-requests"></a>

プロジェクトメンバーは、 `/spend` クイックアクションを介して問題またはマージリクエストに費やされた時間を記録できますが、各人がどれだけの時間を貢献したかを理解するのは簡単ではありませんでした。
プロジェクトおよびグループでの時間レポートの可視性を高めるためのステップとして、個々の問題またはマージ要求で時間レポートを表示できるようになりました。 問題に対して時間を費やした後、サイドバーの**時間追跡レポート**を選択して、その問題またはマージ要求のすべての時間のエントリのリストを表示します。
貢献してくれてありがとう、[@leetickett](https://gitlab.com/leetickett)！

![](https://about.gitlab.com/images/13_12/time_tracking_reports_for_individual_issues_and_merge_requests.gif)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/project/time_tracking.html#view-a-time-tracking-report
- https://gitlab.com/gitlab-org/gitlab/-/issues/271409

## GitLab chartの改善 (GitLab chart improvements)

- ユーザーは、標準の80/443ポートを使用してNGINXをLoadBalancerに公開するように制限されていました。ただし、新しいnginx-ingressチャートでは、ユーザーがLoadBalancerサービスポートをカスタムポートに設定できるようになりました。詳細については、[NGINXサイト構成ドキュメント](https://docs.gitlab.co.jp/ee/install/installation.html#site-configuration)を参照してください。
- [PostgreSQL 13クライアントライブラリにアップグレード](https://gitlab.com/gitlab-org/build/CNG/-/merge_requests/655)。これにより、PostgreSQL 12およびPostgreSQL 11のサポートを維持しながら、PostgreSQL 13へのバックアップ/復元をサポートできます。これは、chartで実行しているPostgreSQLのバージョンには影響しません。

**関連ドキュメント**

- https://docs.gitlab.co.jp/charts/

## Omnibusパッケージの改善 (Omnibus improvements)

- GitLab 13.12は[Mattermost 5.34](https://mattermost.com/blog/mattermost-release-v5-34/)を含みます。これは[Slack代替のオープンソースソフトウェア](https://mattermost.com/)であり、最新のCircleCIおよびDice Rollerプラグインなどを含みます。
- ローカルGitLab設定をバックアップする `etc-backup` ジョブは `gitlab_rails['backup_keep_time']` で設定された[ローテーションルールを考慮されていません](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/4689)でした。このため、古いのバックアップが削除されませんでした。13.12では、何も設定がされていない場合、デフォルトでバックアップファイルが上書きされるようになります。14.0では、[`etc-backup` ジョブは現在の設定を考慮する](https://docs.gitlab.co.jp/omnibus/settings/backups.html)予定です。デフォルトでは全てのバックアップを残すため、この設定を変更した管理者のみがこの変更内容を見ることができます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/omnibus/

## インスタンスレベルでのFLoCオプトイン (Instance-level Federated Learning of Cohorts (FLoC) opt-in)

[Federated Learning of Cohorts (FLoC)](https://en.wikipedia.org/wiki/Federated_Learning_of_Cohorts)はサードパーティクッキーを置き換えることを目的とした最新のウェブトラッキング手法です。これはブラウザの閲覧履歴からユーザーをグルーピングすることで、興味ベースの広告を行なうことを目的としています。FLoCは一部の地域においてChromeブラウザで有効化されています。

GitLab 13.12では、FLoCはデフォルトではGitLabの閲覧履歴とは紐付けられません。インスタンス管理者がそのGitLabインスタンスの利用履歴をFLoCに提供したい場合は、インスタンス設定を変更することができます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/admin_area/settings/floc.html
- https://gitlab.com/gitlab-org/gitlab/-/issues/327904

## 管理画面でユーザが所属するグループ数を表示 (Users' group counts now displayed in Admin Area)

管理エリアのユーザーリストにグループの総数が表示されるようになりました
特定のユーザーがにアクセスできます。 グループ数は、グループメンバーシップとサブグループメンバーシップの両方の合計です。

ユーザーがどれだけのアクセス権を持っているかを簡単にすばやく確認でき、アクションが必要な時期を特定できるるため、これは信じられないほど価値があります。
たとえば、非アクティブ化されたアカウントがプロジェクトやグループにアクセスできないことを確認する際に、この機能を使用できます。

![](https://about.gitlab.com/images/13_12/group_project_count_admin_users.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/admin_area/#administering-users
- https://gitlab.com/groups/gitlab-org/-/epics/4432

## 最新のアーティファクト削除防止機能 (Lock latest pipeline artifact to prevent deletion)

GitLabは、アクティブなブランチ、マージリクエスト、またはタグで成功したパイプラインから生成された最新のアーティファクトを自動的にロックし、それがまだ最新のアーティファクトである場合に有効期限に基づいて削除されないようにします。

これにより、より積極的な有効期限ポリシーを設定して古いアーティファクトをクリーンアップしやすくなり、ディスクスペースの消費を削減し、パイプラインから常に最新のアーティファクトのコピーを取得できるようになります。

[テストカバレッジ視覚化機能](https://docs.gitlab.co.jp/ee/user/project/merge_requests/test_coverage_visualization.html)で使用されるようなパイプラインアーティファクトは、 `.gitlab-ci.yml` の定義によって明示的に管理されません。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/yaml/README.html#artifactsexpire_in
- https://gitlab.com/gitlab-org/gitlab/-/issues/321323

## API経由でインシデント作成可能に (Create incidents via API)
<a name=""></a>

最も効果的なインシデント管理ツールを使用すると、さまざまなソースからインシデントを自動的に作成できます。 インシデントを自動的に作成するには、APIを介して独自のシステムをGitLabと統合できます。 GitLab 13.12では、 `issue_type` 属性がGitLab [REST API](https://docs.gitlab.co.jp/ee/api/issues.html#new-issue)に、`type` フィールドがGitLab [GraphQL API](https://docs.gitlab.co.jp/ee/api/graphql/reference/index.html#mutationcreateissue)にそれぞれ導入されました。これらのAPIでイシューを作成する場合、 `issue_type` を `incident` (REST API) に設定するか、 `type` を `INCIDENT`（GraphQL API）に設定することでインシデントを作成できます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/api/issues.html#new-issue
- https://gitlab.com/gitlab-org/gitlab/-/issues/260375

## Package Registryで重複アップロードの禁止機能 (Allow or prevent duplicate generic package uploads)

GitLab Package Registryを使用して、プロジェクトの汎用パッケージを公開およびダウンロードできます。 デフォルトでは、同じパッケージ名とバージョンを複数回公開できます。

ただし、特にリリースの場合、重複アップロードを防止したいという声が多く寄せられています。 GitLab 13.12は、パッケージレジストリのグループ設定を拡張して、重複アップロードを許可または防止します。

この設定は、[GitLab API](https://docs.gitlab.co.jp/ee/api/graphql/reference/index.html#packagesettings)を使用するか、Web UIアプリケーション上の **[設定] > [パッケージとレジストリ]** から調整できます。 アプリケーション内。 今後のマイルストーンでは、パッケージマネージャーの形式ごとにこの設定を拡張し続けます。 [エピック](https://gitlab.com/groups/gitlab-org/-/epics/5070)をフォローするか、変更への貢献を検討してください。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/api/graphql/reference/index.html#packagesettings
- https://gitlab.com/gitlab-org/gitlab/-/issues/293755

## API経由での関連パッケージファイルの削除機能が利用可能に (Delete associated package files via API)

GitLab Package Registryを使用して、依存関係を公開、インストール、共有します。これは、Mavenやnpmなどのさまざまなパッケージマネージャー形式を使用して行うことができます。 CIワークフローの一部としてこれを行う場合、レジストリに多くのパッケージを公開できます。依存関係を公開すると、パッケージアーカイブを含むいくつかのファイルが生成されます。

GitLab 13.12より前は、GitLabはパッケージからファイルを削除する方法を提供していませんでした。パッケージ自体のみを削除できます。これらの余分なファイルは、ユーザーインターフェイスを乱雑にしたり、誰かが誤った依存関係や古い依存関係をインストールしたりする可能性があります。

GitLab 13.12では、Packages APIを使用して、特定のパッケージに関連するファイルと、パッケージ自体を削除できるようになりました。この新しいエンドポイントをCIワークフローに簡単に統合して、古い未使用のファイルの削除を開始できます。レジストリを管理するための別のオプションを提供するために、将来のリリースでは[ユーザーインターフェイスを介してそのようなファイルを削除する](https://gitlab.com/gitlab-org/gitlab/-/issues/13537)機能が追加されます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/api/packages.html#delete-a-package-file
- https://gitlab.com/gitlab-org/gitlab/-/issues/32107

## パイプラインエディター中のパイプラインステータス (Pipeline status widget in the pipeline editor)

以前は、パイプラインエディターを使用して変更をコミットした後、パイプラインのリアルタイムステータスを知るために別のページに移動する必要がありました。 このリリースでは、パイプラインステータスウィジェットをパイプラインエディターに追加して、エディターの快適さを離れることなくパイプラインのステータスを監視できるようにしました。

![](https://about.gitlab.com/images/13_12/status.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/pipeline_editor/index.html
- https://gitlab.com/gitlab-org/gitlab/-/issues/280829

## デプロイキー削除時にユーザへの警告 (Deleting deploy keys will inform the user if in use)
<a name="deleting-deploy-keys-will-inform-the-user-if-in-use"></a>

このリリースでは、キーを削除する前にデプロイキーが使用中であることをユーザーに警告するための追加の安全対策が追加されました。 これは、誤ってワークフローを壊すことを防ぐのに役立ちます。

![](https://about.gitlab.com/images/13_12/warn_deploy_key.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/project/deploy_keys/#project-deploy-keys
- https://gitlab.com/gitlab-org/gitlab/-/issues/231474

## アクティブなデプロイトークンのフィルタリング (Filter active deploy tokens)

このリリース以前では、トークンを一覧表示するための[Deploy Tokens API](https://docs.gitlab.co.jp/ee/api/deploy_tokens.html)エンドポイントは、フィルタする方法がなかったため、取り消されたトークンと期限切れのトークンを含む、データベースに保存されたすべてのエントリを返していました。本リリースで、REST APIからアクティブなトークンのみをフィルタリングする機能が追加されました。[Devin Christensen](https://gitlab.com/quixoten)のコミュニティへの多大な貢献に心から感謝します！

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/api/deploy_tokens.html
- https://gitlab.com/gitlab-org/gitlab/-/issues/292433

## GitLab Pagesのバックグラウンド移行 (Migrate GitLab Pages in the background)

14.0でGitLab Pagesを新しい[ZIP-storageアーキテクチャ](https://docs.gitlab.co.jp/ee/administration/pages/#zip-storage)に移行する準備として、13.11で自動バックグラウンド移行を導入しました。このバックグラウンド移行により、既存のサイトが新しいストレージ形式に変換され、インスタンスのパフォーマンスに重大な悪影響を与えないように、非常に遅い速度で実行されます。
GitLab 13.12では、同じ移行をより高速に実行するオプションを追加します。[手動で移行を実行する](https://docs.gitlab.co.jp/ee/administration/pages/#migrate-legacy-storage-to-zip-storage)こともできます。これにより、移行結果を確認し、移行エラーを特定して修正することができます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/administration/pages/#zip-storage
- https://gitlab.com/groups/gitlab-org/-/epics/3910

## 新しいGatsby CIページテンプレート (New Gatsby CI Pages template)

Gatsbyの以前のPagesテンプレートは、そのままでは機能しませんでした。事前定義されたテンプレートを使用した後、パイプラインを手動で修正する必要がありました。このマイルストーンでは、最初の実行時にグリーンパイプラインを生成するために使用する新しいテンプレートを提供しました。[Takuya Noguchi](https://gitlab.com/tnir)に対してGitLabのより広いコミュニティの追加メンバーがPagesを使い始めるのに役立つこの素晴らしい貢献に感謝します。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/project/pages/getting_started/pages_ci_cd_template.html
- https://gitlab.com/gitlab-org/gitlab/-/issues/220679

## `release:` キーワードにおいてアセットリンクの追加をサポート (release: keyword supports asset links)

GitLab 13.2以降、 `release:` キーワードを[release-cli](https://gitlab.com/gitlab-org/release-cli/-/tree/master/docs)と組み合わせて使用して、リリースを作成できるようになりました。
`release:` キーワードが拡張され、アセットリンクのサポートが含まれるようになりました。これにより、リリースを作成し、単一の `.gitlab-ci.yml` リリースジョブでそれらにファイルを添付できます。

![](https://about.gitlab.com/images/13_12/release-asset-links.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/ci/yaml/README.html#releaseassetslinks
- https://gitlab.com/gitlab-org/gitlab/-/issues/271454

## SASTアナライザーの更新 (Static Analysis Analyzer Updates)

GitLab Static Analysis (GitLab SAST)は、GitLab Static Analysisチームが積極的に管理、維持、更新している[多くのセキュリティアナライザーのセット](https://docs.gitlab.co.jp/ee/user/application_security/sast/#supported-languages-and-frameworks)で構成されています。
以下は、13.12の間にリリースされたアナライザーの更新です。これらの更新により、追加のカバレッジ、バグ修正、および改善がもたらされます。

- MobSFはバージョン3.4.3にアップデート: [マージリクエスト](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf/-/merge_requests/24/diffs), [変更履歴](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf/-/blob/master/CHANGELOG.md#v2100)
- nodejs-scanはバージョン0.2.6にアップデート: [マージリクエスト](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf/-/merge_requests/24/diffs), [変更履歴](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf/-/blob/master/CHANGELOG.md#v2100)
- GitLeaksはバージョン7.5.0にアップデート: [マージリクエスト](https://gitlab.com/gitlab-org/security-products/analyzers/secrets/-/merge_requests/112), [変更履歴](https://gitlab.com/gitlab-org/security-products/analyzers/secrets/-/blob/master/CHANGELOG.md#v3200)
- pmd-apexはバージョン6.34.0にアップデート: [マージリクエスト](https://gitlab.com/gitlab-org/security-products/analyzers/pmd-apex/-/blob/master/CHANGELOG.md), [変更履歴](https://gitlab.com/gitlab-org/security-products/analyzers/pmd-apex/-/blob/master/CHANGELOG.md#v2122)
- Spotbugsはバージョン4.2.3にアップデート: [マージリクエスト](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs/-/merge_requests/97), [変更履歴](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs/-/blob/master/CHANGELOG.md#v2282)

[GitLabが管理するベンダーのSASTテンプレート](https://docs.gitlab.co.jp/ee/user/application_security/sast/#configure-sast-manually)（つまり、[SAST.gitlab-ci.yml](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)）を利用しているのであれば、これらの更新を受信するために何もする必要はありません。ただし、独自のCIテンプレートをオーバーライドまたはカスタマイズする場合は、CI構成を更新する必要があります。 

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/application_security/sast/analyzers/
- https://gitlab.com/gitlab-org/gitlab/-/issues/331556

## シークレット検出の設定ツール (Configuration tool for Secret Detection)

[GitLab SAST構成ツール](https://docs.gitlab.co.jp/ee/user/application_security/sast/index.html#configure-sast-in-the-ui)の提供に続き、[セキュリティの構成]ページでのシークレット検出のサポートを開始します。[セキュリティはチームの努力である](https://about.gitlab.com/direction/secure/#security-is-a-team-effort)と我々は信じており、この構成の経験により、CI以外の専門家が簡単に入手できるようになります。[GitLabシークレット検出](https://docs.gitlab.co.jp/ee/user/application_security/secret_detection/)から開始しました。このツールは、ユーザーがマージリクエストを作成して、GitLabが管理する[`SAST.gitlab-ci.yml`テンプレート](https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml)。構成ツールは、新しい `.gitlab-ci.yml` ファイルが存在しない場合に作成したり、既存の単純なGitLab CIファイルを更新したりできるため、GitLab CIが既にセットアップされているプロジェクトでツールを使用できます。

![](https://about.gitlab.com/images/13_12/secret_config_button_13_12.png)

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/application_security/configuration/
- https://gitlab.com/groups/gitlab-org/-/epics/4496

## Elastic Stackクラスタ連携 (Elastic Stack cluster integration)
<a name="elastic-stack-cluster-integration"></a>

以前は、Gitlab [Log Explorer](https://docs.gitlab.co.jp/ee/user/project/clusters/kubernetes_pod_logs.html)を最大限に活用するには、GitLab Managed Appsを介してElastic Stackをインストールする必要がありました。Elastic Stackの管理と運用は重要であり、GitLabにアウトソーシングしたいものではないため、これは問題でした。

このリリースでは、既存のElastic StackをGitLabと統合できます。 制御を維持しながら、GitLab Log Explorerが提供する機能を利用できます。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/clusters/integrations.html#elastic-stack-cluster-integration
- https://gitlab.com/gitlab-org/gitlab/-/issues/326560

## GitLab Runner 13.12

本日、GitLab Runner 13.12もリリースします。GitLab Runnerは、ビルドジョブを実行し、結果をGitLabインスタンスに送り返す、軽量で拡張性の高いエージェントです。 GitLab Runnerは、GitLabに含まれているオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。

#### 新機能:

- [GitLab Runner Kubernetes executorにおいてもGit戦略（clone/fetch）をサポート](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/3847)
- [Vaultに全変数を渡す](https://gitlab.com/gitlab-org/gitlab/-/issues/301063)

#### 不具合修正:

- [PowerShell Coreのエラーが検出されない問題の修正](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27830)
- [`set -e` を利用したBashスクリプトの終了コードが正しく検出されてない問題の修正](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/27668)

全ての修正履歴はGitLab Runner [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-runner/blob/13-12-stable/CHANGELOG.md)にあります。

**関連ドキュメント**

- https://docs.gitlab.co.jp/runner/

## GitLab Managed Appにアクセスできなくなります (Take ownership of existing GitLab Managed Applications)

以前に発表されたように、ワンクリックのGitLab Managed AppはGitLab 13.9で非推奨になり、2021年6月22日に予定されているバージョン 14.0でGitLabから完全に削除されます。ドキュメントに従って、アプリケーションの所有権を取得し、通常どおり使用し続ける方法を学んでください。

**関連ドキュメント**

- https://docs.gitlab.co.jp/ee/user/clusters/applications.html#take-ownership-of-your-gitlab-managed-apps
- https://gitlab.com/gitlab-org/gitlab/-/issues/327803

---

#### 本ドキュメントのライセンス

- 以下を除く本文: &copy; 2021 @tnir
- [カバーイメージ](https://unsplash.com/photos/cH2iaFLi9vw): [Unsplash free license](https://unsplash.com/license)
- [その他リリースノートの原文および画像](https://about.gitlab.com/releases/2021/05/22/gitlab-13-12-released/): CC BY-SA 4.0

---

#### お知らせ

次リリースは6/22に14.0となり、これがGitLab 13系最後のリリースとなります。

@tnirが本リリースで開発した内容は[こちらの約59件](https://gitlab.com/groups/gitlab-org/-/merge_requests?author_username=tnir&milestone_title=13.12&state=merged)になりますが、気になる点があればコメントでお知らせください。

#### 2021年6月のGitLab

GitLab Hackathon 2Q '2021 in 日本語が2日間にわたり開催されます。本イベントで開発された内容はGitLab 14.0へ機能取り込みされる可能性が高いため、多くのご参加をお待ちしております。

- GitLab Hackathon 2Q '2021 in 日本語 Day 1 https://gitlab-jp.connpass.com/event/214551/
- GitLab Hackathon 2Q '2021 in 日本語 Day 2 https://gitlab-jp.connpass.com/event/214552/

#### 過去分

- [GitLab CE 10.7リリースノート (Web IDE一般公開)](https://qiita.com/tnir/items/66501667f12cf29f3ba8)
- [GitLab CE 10.6リリースノート (GitLab CI/CD for GitHub)](https://qiita.com/tnir/items/ee991101a7c948a84f7e)
- [GitLab CE 10.5リリースノート](https://qiita.com/tnir/items/479f9616a8bcad17880a)