GitLab 16.2リリースノート
2023年7月22日、GitLab 16.2は次の機能を備えてリリースされました。
さらに、今月の注目すべきコントリビューターを含む、すべてのコントリビューターに感謝します。
今月の注目すべきコントリビューター
Xing Xinは、コンフリクト検出に隔離リポジトリを使用する最近のマージリクエストで表彰されました。Karthik Nayak氏 (シニアGitLabバックエンドエンジニア) は次のように述べています: 「隔離リポジトリを使用することで、操作が途中で失敗した場合にGitリポジトリ内の古いオブジェクトが残るのを防ぐことができます。Xingは、隔離リポジトリを導入できるRPCを認識し、適切なポインターでフィードバックに応答し、コードベースに関する豊富な知識でいくつかの疑問について私たちを納得させることができました。」
Xingは2020年からGitLabおよびGitalyプロジェクトに貢献しています。ByteDance社のbytedancerであるXingは、Alibaba CloudとAntGroupでも時間を過ごし、コードとエンジニアの効率性に注力しています。Xingは、「GitLabコミュニティは、コード管理のベストプラクティスと、すべての親切なレビュアーからのコメントの両方で、私に大きなインスピレーションを与えてくれました。コミュニティと共に成長できることを願っています。」
Missy Daviesは、GitLabヒーロープログラムの最新メンバーの一人です。彼女はGitLabプロジェクト全体にわたる多くの最近の貢献 、特にパイプライン実行および環境グループに対するいくつかのマージリクエストで表彰されました。
Missyは、GitLabコントリビューターコミュニティの積極的なメンバーでもあり、コミュニティイベント、オフィスアワー、Discordサーバーに定期的に参加しています。Lee Tickett氏とMarco Zille氏の両名(GitLabコミュニティコアチームのメンバー)が、Missy氏のより広範なコミュニティへの関与を強調しました。Lee氏は、Missy氏が「私たちの価値観を体現している」と付け加えました。
Missy氏は、GitLabにおけるオープンソースの世界への関与が深まるにつれて、大きな喜びを見出したと語りました。彼女は、強いコミュニティ意識、継続的な学習機会、そしてオープンソースの原則に対する共通の情熱を高く評価しています。Ruby on RailsおよびPythonでの実務経験を持つバックエンドデベロッパーとして、Missyは2022年以来、GitLabの重要なコントリビューターとなっています。
今回のリリースに貢献してくださったすべてのコミュニティコントリビューターに心から感謝いたします🙌
主要な機能
全く新しいリッチテキストエディタエクスペリエンス
GitLab 16.2は、全く新しいリッチテキストエディタエクスペリエンスを搭載しています!この新しい機能は、既存のMarkdown編集エクスペリエンスの代替として、すべての方にご利用いただけます。
多くの人にとって、コメントや説明にプレーンテキストエディタを使用することは、コラボレーションの障壁となっています。画像の参照の構文を覚えたり、長いテーブルを扱ったりすることは、構文に比較的慣れている人にとっても面倒な場合があります。リッチテキストエディタは、「見たままのものを得る (what you see is what you get)」編集エクスペリエンスと、図、コンテンツ埋め込み、メディア管理などのためのカスタム編集インターフェースを構築できる拡張可能な基盤を提供することで、これらの障壁を打ち破ることを目指しています。
リッチテキストエディタは、すべてのイシュー、エピック、マージリクエストで利用可能になりました。近いうちにGitLabのより多くの場所で利用できるようにする予定です。進捗状況はこちらで確認できます。
私たちはこの新しい編集エクスペリエンスを誇りに思っており、皆様のご意見を伺うのが待ちきれません。新しいリッチテキストエディタをお試しいただき、このイシューでご意見をお聞かせください。
GitLabは、設定なしでFluxの同期をトリガーします
デフォルトでは、Fluxは定期的にKubernetesのマニフェストを同期します。マニフェストが変更されたときにすぐに調整をトリガーするには、デフォルトで追加の設定が必要です。Kubernetes向けGitLabエージェントを使用すると、マニフェストに変更をプッシュし、Fluxの同期を自動的にトリガーできます。
Cosignによるキーレス署名のサポート
署名キーの適切な保存、ローテーション、および管理は困難な場合があり、通常は個別のキー管理システム (KMS) の管理にかかるオーバーヘッドが必要です。GitLabは、Sigstore Cosignツールとのネイティブなインテグレーションを介したキーレス署名をサポートするようになり、GitLab CI/CDパイプライン内での簡単、便利、安全な署名が可能になりました。署名は非常に短期間の署名キーを使用して行われます。キーは、パイプラインを実行したユーザーのOIDC IDを使用してGitLabサーバーから取得したトークンを介して生成されます。このトークンには、そのトークンがCI/CDパイプラインによって生成されたことを証明する独自のクレームが含まれています。
ビルドアーティファクト、コンテナイメージ、およびパッケージのキーレス署名を開始するには、ユーザーはドキュメントに示すように、CI/CDファイルに数行追加するだけで済みます。
コマンドパレット
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com
- リンク: ドキュメント
パワーユーザーの場合、キーボードでナビゲートしたりアクションを起こしたりするのはフラストレーションがたまることがあります。これで、新しいコマンドパレットを使用すると、キーボードを使ってより多くの作業をこなせるようになります。
コマンドパレットを有効にするには、左サイドバーを開き、Search GitLab (🔍) をクリックするか、/ キーを使用します。
次のいずれかの特殊文字を入力します:
- 新しいオブジェクトを作成するか、メニュー項目を見つけます
- @ - ユーザーを検索
- : - プロジェクトを検索
- / - デフォルトのリポジトリのブランチでプロジェクトファイルを検索
Google AIを搭載したGitLab Duoコード提案の改善
コード提案は、Google Cloudのカスタマイズ可能な基盤モデルとオープンソースの生成AIインフラストラクチャを使用し、Google Vertex AIにおける生成AIをサポートするようになりました。
GitLabのコード提案は、Google Vertex AI Codey APIのデータガバナンスと責任あるAIを通じてルーティングされます。7月22日現在、コード提案は現在開いているファイルに対して推論を行い、コンテキストウィンドウは2,048トークン、文字数制限は8,192文字です。この制限には、カーソルの前後のコンテンツ、ファイル名、および拡張子の種類が含まれます。Google Vertex AI code-geckoの詳細については、こちらをご覧ください。
Google Vertex AI Codey APIは以下を直接サポートしています: C++、C#、Go、Google SQL、Java、JavaScript、Kotlin、PHP、Python、Ruby、Rust、Scala、Swift、TypeScript。そしてインフラファイルについては、以下をサポートしています: Google Cloud CLI、Kubernetes Resource Model (KRM)、およびTerraform。
私たちはコード提案を改善するために継続的に反復しています。ぜひお試しいただき、皆様のフィードバックをお寄せください。
機械学習モデル実験を追跡する
データサイエンティストは機械学習 (ML) モデルを作成する際、モデルのパフォーマンスを向上させるために、さまざまなパラメータ、設定、特徴量エンジニアリングを実験することがよくあります。このデータサイエンティストは、このすべてのメタデータと関連するアーティファクトを追跡し、後で実験をレプリケートする必要があります。この作業は簡単ではなく、既存のソリューションでは複雑なセットアップが必要です。
機械学習モデル実験により、データサイエンティストはパラメータ、メトリクス、およびアーティファクトを直接GitLabにログ記録し、最もパフォーマンスの高いモデルに簡単にアクセスできます。この機能は実験です。
バリューストリームダッシュボードの新しいカスタマイズレイヤー
私たちは、バリューストリームダッシュボードに新しい設定ファイルを追加し、ダッシュボードのデータと外観のカスタマイズを容易にしました。このファイルでは、タイトル、説明、パネルやフィルターの数など、さまざまな設定とパラメータを定義できます。このファイルはスキーマ駆動型で、Gitのようなバージョン管理システムで管理されています。これにより、設定変更の履歴を追跡および維持し、必要に応じて以前のバージョンに戻し、チームメンバーと効果的に共同作業を行うことができます。
新しい設定には、ラベルでメトリクスをフィルターするオプションも含まれています。興味のある分野に基づいてメトリクス比較パネルを調整し、無関係な情報を除外し、分析または意思決定プロセスに最も関連するデータに焦点を当てることができます。
規模とデプロイ
グループレベルWikiがAdvanced Searchで利用可能になりました
このリリースで、Advanced SearchはグループレベルWikiを含むように拡張されました。ユーザーはこれらのWiki内のコンテンツを、以前よりも簡単かつ迅速に見つけられるようになります。
Omnibusの改善
- プラン: Free、Premium、Ultimate
- リンク: ドキュメント
- Redisのバージョンは、最新の安定バージョンである
7.0.12に更新されました。 - GitLabを新規にインストールする場合、PostgreSQL 14の使用をオプトインできるようになりました。
GitLabコミットで言及されているJiraイシューからのデプロイを表示
以前は、GitLabのデプロイは、デプロイに関連するブランチまたはマージリクエストのいずれかでJiraイシューが言及されている場合にのみ、Jira開発パネルからリンクされていました。これは、マージリクエストからデプロイする必要があるため、ユーザーにとって不便なことが多く、一般的なワークフローではありませんでした。
このリリースにより、GitLabのデプロイは、最後の成功したデプロイ後にブランチに対して行われた最新の5,000コミットのメッセージ内でJiraイシューの言及もスキャンします。このGitLabのデプロイは、言及されたすべてのJiraイシューに関連付けられます。
未確認ユーザーの自動削除
招待が誤ったメールアドレスに送信された場合、確認されることはありません。以前は、管理者がこれらのアカウントを手動で削除する必要がありました。現在、管理者は、指定された日数経過後に未確認ユーザーの自動削除を有効にできます。同様に、GitLab.comでは、未確認アカウントは指定された日数後に自動的に削除されます。
フィードトークンのセキュリティが向上
フィードトークンは、生成されたURLでのみ機能するようにすることで、セキュリティが強化されました。これにより、トークンが漏洩した場合に読み取ることができるフィードのスコープが狭まります。
Self-Managed GitLabで利用可能なSlackアプリ用GitLab
このリリースにより、Slackアプリ用GitLabはSelf-Managedインスタンスで利用できるようになりました。Self-Managed GitLabでは、マニフェストファイルからSlackアプリ用GitLabのコピーを作成し、そのコピーをSlackワークスペースにインストールできます。各コピーはプライベートであり、公開配布はできません。
アプリを作成および設定するには、Slackアプリ管理用GitLabを参照してください。
複数のアクセストークンを使用してGitHubからのインポートを高速化
デフォルトでは、GitHubインポーターは、GitHubからGitLabへのプロジェクトのインポート時に単一のアクセストークンを使用します。ユーザーアカウントのアクセストークンは、通常1時間あたり5000リクエストにレート制限されます。これは、次の場合にインポーターの速度を大幅に低下させる可能性があります:
- 複数の小規模から中規模のプロジェクトをインポートする場合。
- 大量のデータを含む単一の大規模なプロジェクトをインポートする場合。
このリリースにより、アクセストークンのリストをGitHubインポーターAPIに渡し、レート制限されたときにAPIがそれらを順番に使用できるようになりました。複数のアクセストークンを使用する場合:
- これらのトークンは、すべてが1つのレート制限を共有するため、同じアカウントのものであることはできません。
- トークンは、インポートするリポジトリに対して同じユーザー権限と十分な特権を持っている必要があります。
OIDCプロバイダーと監査担当者のロールを同期
GitLabでOIDCグループをauditorロールに同期できるようになりました。これにより、OIDCによって促進される自動化されたユーザーライフサイクル管理は、以前はロールマッピングでサポートされていなかったauditorロールを使用できるようになります。
Marin Hannache氏のコントリビュートに感謝いたします!
サインインおよびサインアップページの改善
GitLabのサインインおよびサインアップページが改善されました:
- カスタムテキストが存在する場合の2列レイアウト。
- 複数のLDAPでの
Remember meチェックボックスに関するイシューを修正しました。 - ダークモードエクスペリエンスの改善。
- より大きなシングルサインオンボタン。
- ページ要素が隠れるのを避けるため、フッターをページ下部に移動しました。
- SAMLサインオンページに言語スイッチャーが追加されました。
- 登録トライアルページでパスワードチェックが有効になりました。
バックアップにプロジェクトをスキップする機能が追加されました
- プラン: Free、Premium、Ultimate
- リンク: 関連イシュー
組み込みのバックアップおよび復元ツールに、特定のリポジトリをスキップする機能が追加されました。Rakeタスクは、新しいSKIP_REPOSITORIES_PATHS環境変数を使用することで、バックアップまたは復元中にスキップされるカンマ区切りのグループまたはプロジェクトパスのリストを受け入れるようになりました。これにより、例えば、時間の経過とともに変更されない古いプロジェクトやアーカイブされたプロジェクトをスキップできるようになり、a) バックアップ実行の高速化による時間短縮、およびb) バックアップファイルにこのデータを含めないことによるスペース節約を実現できます。Yuri Konotopov氏のコミュニティコントリビュートに感謝します!
Geoがすべてのコンポーネントで個別の再同期と再検証を追加
Geoは、セルフサービスフレームワークによって管理されるすべてのコンポーネントタイプに対して、個々のアイテムを再同期および再検証する機能を追加します。これで、Geoによって管理される個々のアイテムに対して、UIを使用して再同期または再検証操作を強制できます。これは、失敗したアイテムの再同期または再検証操作を迅速化したり、同期または検証エラーを修正するために変更が適用された後にも役立ちます。
統合されたDevOpsとセキュリティ
Git LFSダウンロードパフォーマンスの向上
- プラン: Free、Premium、Ultimate
- リンク: ドキュメント
プロキシダウンロードが有効になっていないオブジェクトストレージにLFSオブジェクトを保存するインスタンスの場合、GitLabはLFSリクエストを一括で処理するようになりました。これにより、多数のLFSオブジェクトのダウンロードパフォーマンスが大幅に向上します。
以前は、LFSオブジェクトがフェッチされる方法により、GitLabは多くの非常に小さなリクエストを作成し、ユーザー権限をチェックし、外部に保存されているオブジェクトにリダイレクトしていました。これは、かなりの負荷とパフォーマンスの低下を引き起こす可能性がありました。この修正により、プライマリGitLabインスタンスへの負荷を軽減し、ユーザーにより高速なダウンロードエクスペリエンスを提供できるようになりました。
Helmチャートの追加ボリュームを使用してKubernetes用エージェントをインストールする
Kubernetes用エージェントのagentkコンポーネントは、GitLabで認証するためにトークンを必要とします。以前は、トークンをそのまま提供するか、またはトークンを含むKubernetesシークレットへの参照として提供することができました。ただし、シークレットがすでにボリュームで利用可能な環境で運用している場合、別のシークレットを作成する代わりにそのボリュームをマウントすることを好むかもしれません。GitLab 16.2以降、GitLabエージェントHelmチャートには、Thomas Spear氏のコミュニティコントリビュートのおかげで、この追加機能が搭載されています。
スキャン実行ポリシーエディタでのカスタムCI変数のサポート
これで、スキャン実行ポリシーエディタで、値を含むカスタムCI変数を定義できます。ポリシーで定義されたCI変数は、ポリシーによって適用されるプロジェクトで定義された一致する変数をオーバーライドします。たとえば、ポリシーはCI変数SAST_EXCLUDED_ANALYZERSをbrakemanに定義できます。プロジェクトでスキャナーが適用されると、プロジェクトのCI設定で定義されている変数に関係なく、スキャナーはbrakemanに設定された変数で実行されます。各スキャンタイプについて、デフォルトの変数の値を定義したり、カスタムCI変数のカスタムキー/バリューペアを作成したりできます。これにより、スキャン実行ポリシーのカスタマイズがより迅速かつ容易になります。
スキャン実行ポリシーが開発プロジェクトでCI/CDパイプラインを有効にすることを許可する
以前のGitLabバージョンでは、.gitlab-ci.ymlファイルのないプロジェクト、またはAutoDevOpsが無効になっているプロジェクトではセキュリティポリシーは適用されませんでした。GitLab 16.2では、セキュリティポリシーは.gitlab-ci.ymlファイルを含まないプロジェクトでCI/CDパイプラインを暗黙的に有効にします。これは、セキュリティポリシーのコンプライアンスを確保し、シークレット検出、静的な解析、またはビルドが不要なその他のジョブを適用できるようにするためのさらなる一歩です。
セキュリティポリシーで「デフォルト」または「保護ブランチ」をターゲットにする
スキャン実行ポリシーとスキャン結果ポリシーにより、ポリシーが適用される多数のプロジェクト全体で、「デフォルト」ブランチまたは「保護ブランチ」であるブランチに適用範囲をスコープできるようになります。ポリシーがブランチ名を明示的に指定することを要求するのではなく、ポリシーをより広範に適用し、非典型的な名前のブランチがコンプライアンスから除外されないようにすることができます。
ブランチルールは、branch_typeフィールドを使用することで、さまざまなセキュリティポリシールールタイプ全体で設定できます:
- スキャン結果ポリシーのScan_findingルールタイプ
- スキャン結果ポリシーのLicense_findingルールタイプ
- スキャン実行ポリシーのパイプラインルールタイプ
- スキャン実行ポリシーのスケジュールルールタイプ
Google Cloud Loggingへの監査イベントストリーミング
- プラン: Ultimate
- 提供形態: GitLab.com
- リンク: ドキュメント
これで、監査イベントストリーミングの送信先としてGoogle Cloud Loggingを選択できるようになりました。
以前は、ヘッダーを使用して、Google Cloud Loggingが受け入れるリクエストを作成する必要がありました。このメソッドはエラーが発生しやすく、トラブルシューティングを行うのが困難でした。
これで、ストリームの宛先としてGoogle Cloud Loggingを選択し、プロジェクトID、クライアントメール、ログID、および秘密キーを提供することで、よりシームレスなインテグレーションが可能になります。
コンプライアンスフレームワークレポートのエクスポート
- プラン: Ultimate
- 提供形態: GitLab.com
- リンク: ドキュメント
これで、コンプライアンスフレームワークとその関連プロジェクトのレポートをCSVファイルにエクスポートすることができます。
グループレベルでのコンプライアンスフレームワークレポートの追加により、コンプライアンスフレームワークがどのプロジェクトに適用されるかを確認および管理できるようになりました。
新しいエクスポートにより、そのファイルのコピーを参照用に保持できます。プロジェクトとコンプライアンスフレームワークの関係の理想的な状態の信頼できる唯一の情報源としてファイルを保持することもできます。あるいは、GitLabで作業していないが、どのプロジェクトにどのフレームワークがタグ付けされているかを見ることに興味がある組織内の人々にファイルを送信することもできます。
グループ/サブグループレベル依存関係リスト
依存関係のリストをレビューする際には、全体像を把握することが重要です。プロジェクトレベルで依存関係を管理することは、すべてのプロジェクトの依存関係を監査したい大規模な組織にとって問題です。このリリースにより、サブグループを含むプロジェクトまたはグループレベルで、すべての依存関係を確認できます。この機能は、機能フラグgroup_level_dependenciesによってデフォルトで無効になっています。
保護ブランチへの最初のプッシュを許可する
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com
- リンク: ドキュメント
以前のGitLabバージョンでは、デフォルトブランチが完全に保護されている場合、プロジェクトメンテナーおよびオーナーのみが、デフォルトブランチに最初のコミットをプッシュすることができました。
これは、新しいプロジェクトを作成したデベロッパーにとって問題を引き起こしました。なぜなら、デフォルトブランチしか存在しなかったため、そこに最初のコミットをプッシュすることができなかったからです。
最初のプッシュ後に完全に保護設定により、デベロッパーはリポジトリのデフォルトブランチに最初のコミットをプッシュすることができますが、それ以降はデフォルトブランチにコミットをプッシュすることはできません。完全に保護されたブランチと同様に、プロジェクトメンテナーは常にデフォルトブランチにプッシュすることができますが、誰も強制プッシュすることはできません。
インスタンスレベルの監査イベントストリーミング
- プラン: Ultimate
- リンク: ドキュメント
GitLab 16.1より前は、トップレベルグループからの監査イベントのみを外部のストリーミング先にストリームできました。
現在、インスタンス管理者は、インスタンスレベルで生成された監査イベントのストリーミング先を追加できます。
監査イベントのストリーミングフィルタリングUI
- プラン: Ultimate
- 提供形態: GitLab.com
- リンク: ドキュメント
以前のGitLabバージョンでは、GraphQL APIを使用して、監査イベントタイプのフィルターを監査イベントストリームに追加する必要がありました。
現在、GitLab UIのフィルタードロップダウンを使用して、利用可能なすべての監査イベントタイプを、それらが関連するGitLabの領域ごとにグループ化して表示し、ストリームで送信したい正確なタイプを検索できます。
これにより、監査イベントストリームにフィルタリングを追加するのに必要な時間が大幅に短縮されます。なぜなら、APIを使用してリスト全体を取得し、手動でリストを検索する必要がなくなるからです。
マージリクエストでのインタラクティブな差分の提案
マージリクエストで変更を提案する際に、提案をより迅速に編集できるようになりました。コメント内で、リッチテキストエディタに切り替えてUIを使用し、テキスト行を上下に移動します。この変更により、コメントが投稿されたときに表示されるのと全く同じように、提案を表示できます。
リッチテキストエディタは、GitLabでの新しい編集方法です。マージリクエストで利用できるほか、イシューやエピックのプレーンテキストエディタと並行して利用することもできます。
私たちは、リッチテキストエディタを近いうちにGitLabのより多くの領域で利用できるようにする予定であり、現在積極的に取り組んでいます。進捗状況はこちらで確認できます。
CI/CDパイプラインでPyPIパッケージをインポートする
あなたのPyPIリポジトリをGitLabに移行することを考えていましたが、時間を投資できませんでしたか?このリリースで、GitLabはPyPIパッケージインポーターの最初のバージョンをローンチします。
これで、パッケージインポーターツールを使用して、ArtifactoryなどのPyPI準拠のレジストリからパッケージをインポートすることができます。
アップロードされたデザインのコメントに絵文字リアクションを追加する
これで、デザイン管理のコメントに絵文字リアクションを追加することで、より創造的に考えを表現できます。この機能は、コラボレーションに楽しさと容易さを加え、より良いコミュニケーションを促進し、チームがより表現豊かな方法で迅速なフィードバックを提供できるようにします。
SASTアナライザーの更新
GitLab SASTには、GitLab静的な解析チームが積極的に保守、更新、サポートする多くのセキュリティアナライザーが含まれています。
16.2リリースマイルストーン中、私たちの変更は、Semgrepベースのアナライザーと、それがスキャンに使用するGitLabが維持するルールに焦点を当てました。以下の変更をリリースしました:
- JavaScriptルールの説明とガイダンスを明確にし、GitLab 16.1でリリースされた他の言語の改善点に基づいています。
- JavaおよびJavaScriptで追加の脆弱性を見つけるためにルールを更新しました。
- スキャンで無視されるファイルのデフォルト設定を次の方法で変更しました:
.gitignore除外の削除。@SimonGurneyによるこのコミュニティコントリビュートに感謝します。- ローカルで定義された
.semgrepignoreファイルを尊重する。@hmrc.colinameighによるこのコミュニティコントリビュートに感謝します。
- Goメモリエイリアシングに関連するルールを改善しました。
@tyageによるこのコミュニティコントリビュートに感謝します。 - JavaScriptルールに対するSemgrepルールIDに追加された
-1サフィックスを削除しました。これはGitLab 16.0で無関係な変更の副作用として追加されましたが、顧客の既存のsemgrepignoreコメントと競合していました。
詳細はsemgrep変更履歴およびsast-rules変更履歴を参照してください。GitLab管理のルールセットへのさらなる改善は、エピック10907で追跡しています。
GitLab管理のSASTテンプレート (SAST.gitlab-ci.yml)を含め、GitLab 16.0以降を実行している場合、これらの更新を自動的に受け取ります。特定のアナライザーのバージョンを維持し、自動更新を防ぐには、そのバージョンを固定できます。
以前の変更については、先月の更新を参照してください。
シークレット検出の更新
私たちはGitLabシークレット検出アナライザーの更新を定期的にリリースしています。GitLab 16.2マイルストーン中に、私たちは次のことを行いました:
- 以下のGitLab管理の検出ルールを追加しました:
- OpenAI APIキー。
- CircleCI PersonalおよびProjectアクセストークン。
@nathanwfishによるこのコミュニティコントリビュートに感謝します。
keywords最適化を使用するルールのパフォーマンスを向上させました。- シークレット検出の結果がリポジトリ内の間違った場所にpermalinkを作成する問題を修正しました。
詳細については、変更履歴を参照してください。
GitLab管理のシークレット検出テンプレート (Secret-Detection.gitlab-ci.yml)を使用し、GitLab 16.0以降を実行している場合、これらの更新を自動的に受け取ります。特定のアナライザーのバージョンを維持し、自動更新を防ぐには、そのバージョンを固定できます。
以前の変更については、最新のシークレット検出の更新を参照してください。
依存関係およびライセンススキャンにおけるNuGet v2のサポート
NuGet v1ロックファイルに加えて、GitLab依存関係およびライセンススキャンの両方で、NuGet v2ロックファイルで定義された依存関係の分析がサポートされるようになりました。
SASTの脆弱性追跡機能の改善
GitLab SAST 高度な脆弱性追跡は、コードが移動しても発見を追跡し続けることで、トリアージをより効率的にします。GitLab 16.2で2つの改善をリリースしました:
- 言語サポートの拡大: 高度な脆弱性追跡がC#で有効になりました。
- より良い追跡: C、C#、Go、Java、JavaScript、およびPythonにおいて、空白やコメントをより適切に処理できるよう追跡アルゴリズムを改善しました。特定のGo関数の追跡に関するイシューも修正しました。
さらなる追跡の改善には、より多くの言語への拡張、より多くの言語構造のより良い処理、およびPythonとRubyの追跡の改善が含まれており、これらはエピック5144で追跡しています。
これらの変更は、GitLab SAST アナライザーの更新されたバージョンに含まれています。プロジェクトの脆弱性発見は、更新されたアナライザーでプロジェクトがスキャンされた後、新しい追跡シグネチャで更新されます。SASTアナライザーを特定のバージョンにピン留めしていない限り、この更新を受け取るためにアクションを実行する必要はありません。
CI/CD: 条件付きインクルードでのwhen: neverのサポート
includeは、完全なCI/CDパイプラインを作成する際に使用する最も一般的なキーワードの1つです。より大規模なパイプラインを構築している場合、外部のYAML設定をパイプラインに取り込むためにincludeキーワードを使用していることでしょう。
このリリースでは、キーワードの機能を拡張し、rulesとincludeを使用する際にwhen: neverを使用できるようにします。これで、特定のルールが満たされたときに外部のCI/CD設定が除外されるタイミングを決定できます。これにより、選択した条件に基づいて動的に自身を修正する能力が向上した、標準化されたパイプラインを作成するのに役立ちます。
すべてのティアで利用可能なLinux上のMedium SaaS Runner
当社は現在、4 vCPUと16 GBのRAMを搭載したLinux上のMedium GitLab SaaS Runnerをすべてのティアで利用できるようにしました。
以前は、Freeティアのユーザーは小規模なLinux Runnerしか使用できず、CI/CD実行時間が長くなることがありました。Freeユーザーがパイプラインの速度を向上させることを楽しみにしています。
GitLab Runner 16.2
- プラン: Free、Premium、Ultimate
- リンク: ドキュメント
本日、GitLab Runner 16.2もリリースします!GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに送信する、軽量で拡張性の高いエージェントです。GitLab Runnerは、GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。
新機能
バグ修正
- dockerdまたは任意のプロセスがバックグラウンドで実行されている場合、CIジョブスクリプトが完了しない
- v16.1.0用のGitLab-runner-helper servercoreイメージが見つからない
- エラー: キャッシュアダプターを作成できませんでした
GitLab Runnerのすべての変更リストは変更履歴にあります。