2017年3月22日にGitLab 9.0がリリースされました。18ヶ月ぶりのメジャーバージョンアップだそうです。
GitLabは、アプリケーションライフサイクル管理(ALM)ツールです。
アプリケーションの設計、コーディング、ビルド、デプロイ、モニタリングをGitLab内で直接行うことができます。
GitLabにはオープンソースのCommunity Editionと、有償のEnterprise Editionがありますが、本記事はCommunity Editionを対象にしてします。
サブグループ
グループ内のグループ、つまり「サブグループ」に対応しました。
最大20階層のサブグループを作成できます。
Subgroupsについてさらに詳しく
開発環境のモニタリング
CI/CDパイプラインとソースコードリポジトリを統合した監視システムが導入されました。
Prometheusを活用して、Kubernetesベースの環境で実行されているアプリケーションのCPUとメモリ使用率を追跡できるようになりました。
将来的には、マージのパフォーマンスへの影響を測定し、広範囲のメトリクスをサポートし、デプロイボードに監視データを統合するそうです。
Prometheus統合についてさらに詳しく
パフォーマンス向上
authorやassigneeのより効率の良い検索と、不要なクエリの削除によって、IssuesとMerge Requestsのダッシュボードのパフォーマンスが改善されました。
ナビゲーション更新
タブの項目が再配置されました。
プロジェクトビュー設定の設定が簡略化され、メインプロジェクトタブで、(1)ファイルとREADME、(2)アクティビティ、のどちらを表示するか選択できるようになりました。
変更点についてさらに詳しく
カンバンで課題の並び替え
ドラッグ&ドロップで課題の順序を変更できるようになりました。
Issue Boardsについてさらに詳しく
API v4
v3は2017年8月までサポートするそうです。
v4変更点についてさらに詳しく
Unicode絵文字対応
空プロジェクトでブランチ作成
空プロジェクトでブランチ作成した場合、自動的にmasterブランチを作成し、空README.mdをコミットしてから、新しいブランチを作成するようになりました。
ブランチ作成についてさらに詳しく
GitLab CI変数名変更
Merge Requestsウィジェットのユーザビリティ
をどんどん改善していきたいそうです。
最も関連性の高い情報を提示し、コードの状態(レビュー中、デプロイ済など)を一目で確認できるようにしたいそうです。
Gitaly
Gitまわりのパフォーマンス向上のためのオープンソースソリューションを作っているそうで、今後ご期待くださいとのことです。
グループ作成時にMattermostチームを作成する
GitLabはチームチャットツールのMattermostと統合しています。
9.0では、グループを作成するときにMattermostに同じ名前のチームを作成できるようになりました。
グループ検索
グループ一覧画面がグループの検索と並べ替えに対応しました。
Environmentsにページネーション追加
IssuesとMerge Requestsでトークン化フィルタリング
フィルタの属性がトークン化されました。
将来のリリースでGitLabの他の部分にも展開するそうです。
偽装トークン
トークンを取得するプロセスをより簡単で一元的に制御できます。
偽装トークンについてさらに詳しく
GitLab PagesのArtifactsをデプロイ後に自動削除
有効期限を設定することで保持できます。
Diffsのコメントがより簡単に
アクセス許可されたPipelineトリガー
Pipeline Trigger APIができました。Build Trigger APIは廃止され、間もなく削除されます。
CIキーワードcache:key
がデフォルトでdefaultに
cache:key
の値を明示しない場合は、defaultが設定されるようになりました。
手動ジョブでブロッキングができるように
when: manual
のジョブにallow_failure: false
を指定すると、実行するまで次以降のステージの実行をブロッキングできるようになりました。
HTTP Strict Transport Securityの詳細制御
Omnibus GitLab configで微調整できるようになりました。
HSTSについてさらに詳しく
注目に値するコミュニティの貢献
- リポジトリのHTTP(S)クローンURLにユーザ名を追加
- API:カバレッジ値をコミット・ステータス・エンドポイントに渡せるように
- wikiの一覧表示時にディレクトリ階層を表示
- 行頭でメンションされたユーザーに作成される
Directly addressed
Todoを追加 - TodoのUndone機能
- Todo通知バッジで99以上を表示できるように
- Todoのフィルタリングオプションに
Added
とPipelines
を追加 - 課題一覧の各課題にマージリクエスト数を追加
- コメントに絵文字だけを投稿できるようにするために
/award
スラッシュコマンドを追加。 - 失敗したビルドの課題を作成するボタンを追加
- Slack通知にユーザーとビルドのリンクを追加
- ブランチ名をクリップボードにコピーする機能を追加
- Pipelines通知メールにブランドヘッダーロゴ
Omnibus GitLabパッケージの改善
- PostgreSQLのバージョンアップ (9.2 -> 9.6)
- GitLab Mattermost 3.7
- Raspberry Pi 2パッケージがRaspbianディストリビューションに変更
- PrometheusでGitLabの監視
廃止
- GitLab Runner
- Git-Annex
- GitLab.comのGitLab PagesサーバのIPアドレス