GitLab 11.7では、GitLab Coreでリリース機能が利用できるようになります。 ユーザは、ソースコードのみならず、全ての成果物を含めたリリース時のスナップショット を保持することができるようになりました。 これにより、ソースコードやビルドの成果物、他のメタデータやコードのリリースバージョンに関連する成果物などを手動で収集管理する必要がなくなります。 加えて、このリリース機能は将来的により幅広く、パワフルなリリースオーケストレーションになるべく、準備されます。
子エピックの多層化 はUltimateで利用できる、GitLabポートフォリオ管理の最新機能です。 子エピックでは複数階層のWBSを利用できるようになり、より複雑な案件や作業計画の一助となるでしょう。 課題とエピックの両方を含むエピックを作ることができるようになり、この構造によって、計画と実装にあたることができる課題をダイレクトに結びつけることができます。
GitLab 11.7のPremiumでは、NPMレジストリをGitLab内部に持てるようになりました。それにより、NPMパッケージをプロジェクト横断的に共有し、またNPMパッケージをバージョン管理することが可能になります。 パッケージ名を伝えるだけで、あとはNPMとGitLabにおまかせできます。すべてが1つのインターフェースで完結します!
月次リリース記事のトップで「どの機能を取り上げるか」を選ぶのは毎回とても難しい作業になっています。以下は、その他の素晴らしい機能のご紹介です。
-
パッチファイルで脆弱性を修復:ご存知の通り、GitLabのセキュリティ機能では、脆弱性を検知することができます。GitLab 11.7では、さらに、脆弱性を修復する機能が盛り込まれました。そして、Node.jsプロジェクトには、Yarnでの解決方法の提案も行われます。これはGitLabが提供する初めての修復タイプ機能であり、これからますます発展が見込まれます!
-
APIによるKubernatesの構築: もしあなたがたくさんのKubernatesクラスターを構築する業務にあたっているとしたら、GitLabのKubernetes APIを利用して、あなたの手作業を減らし、日々の仕事をすいぶん楽にできるでしょう!
-
プロジェクト横断でのパイプラインの表示: プロジェクトをまたいでパイプラインを確認できるようになりました。この機能を使えば、どんな情報でもすぐに得られるでしょう!
GitLab 11.7の全機能についてみていきましょう!
GitLab 11.7での主要機能
プロジェクトのリリース機能
CORE
STARTER
PREMIUM
ULTIMATE
新しいリリース機能により、GitLabでリリースを作成でき、それをサマリーページで参照できるようになりました。 リリースとは、リリースしたバージョンのコードに関連する、ソースコード、リンク、その他のメタデータ、 成果物などのスナップショットにあたるもので、プロジェクトのユーザは、簡単に最新のリリースバージョンを 探せるようになるでしょう。
非推奨
Debian 7 Wheezy サポート
GitLab 11.6 が Debian 7 Wheezy の最後のサポートバージョンになります。
GitLab 10.6 にて Debian 7 Wheezy のサポートを非推奨にすることが発表されています。 2018 年 5 月現在 Debian 7 Wheezy は Debian プロジェクトでサポートされていません。
Debian 9 Stretch または Debian 8 Jessie へのアップグレードを強くお勧めします。
削除日: 2019年12月22日
Raspbian Jessie サポート
GitLab 11.8 が Raspbian Jessie をサポートする最後のリリースになります。
Jessie は LTS に移行 しました。 そして 最新の Raspbian Jessie イメージ はリリースから 1 年以上経っています。 Raspbian ユーザは Raspbian Stretch にアップグレードすることをお勧めします。
削除日: 2019年2月22日
CentOS 6 での Docker executor を使用した GitLab ランナーのサポート
GitLab 11.9 が CentOS 6 での Docker executor を使用した GitLab ランナーをサポートする最後のリリースになります。 理由は、現在サポートしていない Dokcer ライブラリより新しい Docker ライブラリへのアップデートを計画しているからです。
詳細については この課題 を参照してください。
削除日: 2019年3月22日
Omnibus GitLabでPrometheus 1.x系のサポートについて
GitLab 11.4では、OmnibusパッケージへのPrometheusバージョン1.0のバンドルが廃止されました。 現在、Prometheusの2.0が含まれるようになりましたが、メトリクスのフォーマットが1.0と異なります。 Omnibusパッケージに含まれるツールを使い、既存環境も、2.0にアップデートし、データのマイグレーションもできます。
GitLab 12.0では、どのインストール方法でも、Prometheus 2.0で動いていない場合は自動的にアップグレードされます。 その場合は、Prometheus 1.0のメトリクスデータはマイグレーションされずに失われます。
削除日: 2019年6月22日
GitLab 12.0からはデフォルトでTLSv1.1を無効化に
GitLab 12.0から、セキュリティ向上のため TLS v1.1はデフォルトで無効化されます。これにより、Heartbleedを含む多くのissueの低減につながり、また、PCI DSS 3.1規格に準拠した状態ですぐに使用できるようになります。
今すぐTLS v1.1を無効化したい場合は、gitlab.rb
でnginx['ssl_protocols'] = "TLSv1.2"
と編集し、gitlab-ctl reconfigure
を実行します。
削除日: 2019年6月22日
GitLabインストール用のOpenShiftテンプレート
公式の gitlab
helm chart はOpenShiftへの構築を含む、Kubernates上にGitLabを展開したいときに推奨される方法です。
OpenShiftのGitLabテンプレートは廃止となり、GitLab12.0ではもうサポートされません。
削除日: 2019年6月22日
GitLab Geoではv12.0からHashed Storageが必要に
GitLab Geoでは、セカンダリーノードとの間で競合状態になることを回避するため、 Hashed Storageの利用が必要になります。 これはgitlab-ce#40970に記載されています。
11.5で、Geoのドキュメント: gitlab-ee#8053にこの要件を追加しました。
11.6では、 sudo gitlab-rake gitlab:geo:check
でHashed Storageが利用可能かどうかを確認し、全てのプロジェクトをマイグレーションします。:gitlab-ee#8289 Geoを利用中であれば、このチェックコマンドを実行し、可能な限り早くマイグレーションをしてください。
11.8では、上記で記載したチェックが行われないと、”Admin Area › Geo › Nodes”にページに警告のバナーが表示され続けます。gitlab-ee!8433
12.0では、GeoはHashed Storageを必須とします。 gitlab-ee#8690.
削除日: 2019年6月22日
Google OAuth2 SSOは11.7のみでサポート
2019年3月7日、Googleは全てのGoogle+のAPIを停止しました。 こちらでGoogleからのアナウンスの詳細を読むことができます。
11.7以前のバージョンでは、これらのAPIはGoogle OAuth2に依存していましたが、今後機能しなくなります。 11.7では、 GoogleSSOをサポートします。 もしご利用中のインスタンスが認証でGoogle OAuth2を使っている場合、11.7へのアップデートをお勧めします。
削除日: 2019年3月7日
非プロテクトブランチ上の編集/削除タグは、今まで Maintainers と Ownersのみに制限されてきました。
Developerがタグを追加できるだけでなく、非プロテクトブランチを変更、削除できるようになったため、Developerでタグについても変更や削除ができるべきだと考えました。
GitLab 11.9で我々は、ワークフローを改善し、Developerががタグをより効果的かつ効果的に使用できるよう、パーミッションのモデルに 変更を加えました。
削除日: 2019年3月22日
Hipchat連携
Hipchatはサービス終了となります。 そのため、GitLab 11.9では、既存のHipchat関連機能を削除する予定です。
削除日: 2019年3月22日
アップグレードの指標
11.6の最新バージョンからGitLab 11.7へのアップグレードに、ダウンタイムは発生しません。 詳細はノーダウンタイムアップグレードに関するドキュメントを参照してください。
GitLab.comと同規模のインスタンスでは、このリリースで、データベースのマイグレーションに30分から60分程度かかります。 より小規模なインスタンスでは、データベースのマイグレーションは長くても15分程度です。
GitLab Geoのユーザーは、Geoのアップグレードに関するドキュメントを参照してください。