最近リリースされたGitLab 11.11では、マージリクエストの担当の複数アサイン、GitLab Runners向けのWindows Container Executor、リリースへのゲストアクセス、インスタンスレベルのKubernetesクラスタなどを提供している。
マージリクエストの担当を複数アサインできることによって、2人以上のエンジニアが共有ブランチで作業するような一般的なシナリオにおいてエンジニアの助けになる。例えば、バックエンドとフロントエンドのエンジニアのコラボレーション、またはXPのようにエンジニアがペアで作業するチームもある。複数の担当者をマージリクエストに割り当てるには、右側のサイドバーを展開して[担当者]セクションを見つけ、[編集]をクリックして、マージリクエストを割り当てるユーザをいくつでも選択できる。
(https://docs.gitlab.com/から取得した画像)
GitLab 11.11は、GitLab Runners向けのWindows Container Executorをサポートするようになった。これは、Windows上でDockerコンテナを使用できるようになったことを意味する。以前は、Dockerエグゼキュータが注力していたのは、ほぼ完全にLinuxベースのシステムであり、ユーザはWindows上でDockerを直接使用することはできなかった。Dockerコマンドを調整するにはシェルエグゼキュータを使用する必要があった。
(https://about.gitlab.com/から取得した画像)
GitLab Runnerは、GitLab CIと連携してジョブを実行し、結果をGitLabに送り返すためのオープンソースプロジェクトである。現在サポートされているエグゼキュータは、SSH、Shell、Parallels、VirtualBox、Docker、およびKubernetesである。
Windows上でDockerコンテナを使用する機能は優れているが、GitLab RunnerはサポートするのはWindows Server 1809および1803のみである。そして、インタラクティブWeb端末がサポートされていない、サービスが完全に機能しないなどの制限がある。
WindowsランナーはGitLab.comで使用できるが、現在共有のパブリックフリートの一部としては利用できないことに注意することが重要である。
現在ベータ版のインスタンスレベルのKubernetesクラスタでは、セルフマネージドのGitLabインスタンスのユーザがKubernetesクラスタをGitLabインスタンスに接続することができる。これにより、複数のプロジェクトで同じクラスタを使用できる。GitLabはプロジェクトレベルのクラスタ、グループレベルのクラスタ、インスタンスレベルの順でクラスタとのマッチングを試みる。
GitLab 11.11のもう1つの興味深い機能は、ゲストユーザがリリースページに公開されているリリースにアクセスできるようになったことである。ゲストユーザは公開された成果物をダウンロードできるが、ソースコードのダウンロードやタグやコミットなどのリポジトリ情報へのアクセスは許可されない。
(https://about.gitlab.com/から取得した画像)
SlackとMattermostチャットの統合を通じて、デプロイ通知をチームのチャンネルで自動的に共有できるようになった。この機能は、デプロイアクティビティに関する可視性を高めることを目的としている。
(https://about.gitlab.com/から取得した画像)
GitLab 11.11のその他の興味深い機能は以下のとおりである。
- ユーザはリポジトリ内のディレクトリのアーカイブをダウンロードできるようになった。これは大規模なMonorepoではかなり有用である。以前はユーザはプロジェクト全体のアーカイブをダウンロードしなければならなかった。
- suggestionを適用すると、自動的にディスカッションが解決される。ユーザはsuggestionの変更を受け入れるためにコピー/貼り付けをする必要はない。
- 脆弱性情報のAPIエンドポイント。ユーザはGitLab APIに問い合わせて、プロジェクトで特定されたすべての脆弱性を返すことができる。
GitLab 11.11の詳細と変更点の完全なリストはアナウンスページにある。