GitLab 10.6のリリース:GitHubのCI / CDおよびKubernetesとの詳細な統合

注目を集める絵







継続的な統合、配信、展開は、DevOpsの基本原則です。 GitLabには、 開発者アナリストの両方、および企業全般に訴えるCI / CD機能が含まれています。









ただし、1つ漏れがありました。以前は、GitHubでGitLab CI / CDを使用できませんでした。 このリリースでは、修正しました。







GitHub用GitLab CI / CDの紹介



GitLabは開発サイクル全体で単一のアプリケーションとして最高のパフォーマンスを発揮しますが、 他のアプリケーションとの生産的なやり取りに努めています 。 したがって、このリリースから、 CI / CDをGitHub統合しCI / CDを BitBucketなどの他の外部リポジトリと統合する機能を追加します。 この革新は、4つの主要なユーザーグループに焦点を当てています。







オープンソースプロジェクト



GitHubにオープンソースプロジェクトが公開されたので、GitLab.comで無料のCI / CDを使用できます。 オープンソースサポートの一環として、GitLab CI / CD Highest Plan(Gold)機能をパブリックプロジェクトに無料で提供します。 他のCI / CDベンダーは少数の同時ジョブしか許可していませんが、 GitLab.comでは、オープンソースプロジェクトで、1か月あたりCIパイプラインで50,000分の空き時間で数百の同時ジョブを実行できます。







大企業



最大の顧客とのコミュニケーションから、大企業では多くのチームが多くの異なるツールを使用することが多いことがわかります。 お客様はGitLabでCI / CDの標準化を希望していますが、コードはGitLab、GitHub、およびその他のリポジトリに同時に保存できます。 このリリースから、企業はすべてのリポジトリに共通のCI / CDパイプラインを使用できるようになります。 これは私たちにとって重要なユーザーグループであるため、GitHubのCI / CDをプレミアムプランの一部にしました。







GitHub.comの誰でも



GitLabは1つのアプリケーションでSCMとCI / CDを使用するように設計されていますが、一部のユーザーがGitHubのバージョン管理でGitLab CI / CDを使用する理由を理解しています。 したがって、年間を通じて、GitHubのGitLab CI / CDは、無料のGitLab.comプランの一部となります。 これは、個人プロジェクトやスタートアップから中小企業まで、すべてのGitHubユーザーがGitLab CI / CDを無料で使用できることを意味します。 このバージョンでは、2000分の無料のCIパイプラインが最初に利用可能になり、独自のランナー追加してプランをアップグレードできます







Gemnasiumユーザー



覚えているかもしれませんが、最近Gemnasium買収しました 。 このランクの補充に非常に満足していますが、以前にGemnasiumを使用したことのあるユーザーも忘れないでください。新しいプラットフォームに切り替えるための簡単で簡単な方法をユーザーに提供したいと考えています。 組み込みのセキュリティシステムの一部としてGemnasium機能を既に出荷しており、GitHubと組み合わせて使用​​するGemnasiumユーザーは、コードの移植を必要とせずにセキュリティチェックにGitLab CI / CDを使用できます。







GitLabのKubernetesの機能強化



コンテナ化をGitLabに統合し続けます。 バージョン10.4では、 KubernetesおよびGKEクラスターとの統合導入しました 。 バージョン10.6では、GitLabでのKubernetesの使用をさらに簡素化します。 接続されたKubernetesクラスターGitLab RunnerをワンクリックでデプロイできるようになりましたKubernetesクラスター監視し、 GitLabを離れることなく、それに接続されているIngressコントローラーのIPアドレスを見つけることもできます







ミーティングにご招待します!







GitLab MVPバッジ







MVP )今月- 野口拓ya



Takuy​​a はブランチページ再設計し、ブランチのアクティブと非アクティブへの分離を追加し、特に大規模なプロジェクトで適切なブランチを見つけやすくしました。







ありがとう、たくや 感謝の気持ちで、Takuy​​aブランドのスウェットシャツ、ソックス、GitLabのシンボルが入った手作りのタヌキをお送りしました。







GitLab CI /外部リポジトリ用CD(PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



2011年、GitLabはコードリポジトリとしてのみ開始されました。 それ以来、テスト、セキュリティ、パッケージ化、展開、および監視機能を提供するDevOpsライフサイクル管理アプリケーションに進化しました。 この場合、アプリケーションのすべてのコードは引き続き外部リポジトリに保存されます。







GitHubリポジトリでGitLab CI / CDを使用するには、新しいGitLabプロジェクトを作成し、 外部リポジトリのCI / CDタブ GitHubを選択します。 .gitlab-ci.yml



をリポジトリに追加(またはAuto DevOpsにプラグイン)すると、GitLabは自動的にパイプラインを実行し、GitHubのコミットステータスを更新します。







URLで任意のGitリポジトリに接続し、ステータスwebhookを手動で構成することもできます。 たとえば、Bitbucketを使用している場合、 ここでGitLab CI / CDを手動で構成する方法を読むことができます。







この機能の発売を記念して、GitLab.com Freeプランの一環として、年間-2019年3月まで無料で提供します。







GitLab CI /外部リポジトリ用CD







外部リポジトリのCI / CDドキュメント







Kubernetesクラスター(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)でのGitLab Runnerの迅速な展開



GitLabを使用すると、Kubernetesクラスターと対話でき、プロジェクトで使用できるアプリケーションを簡単にインストールできます。







GitLab 10.6では、GitLab Runnerをワンクリックでクラスターに直接デプロイする機能を追加します。その後、追加の設定なしでプロジェクトの作業を自動的に開始できます。







Kubernetesのランナーインストールドキュメント







GitLab RunnerをKubernetesクラスターにすばやくデプロイする







Kubernetesクラスターモニタリング(ULTIMATE、GOLD)



開発者は、Kubernetesを使用して、コードの出所や場所に関する質問に気を取られることなく、アプリケーションを簡単に展開および管理できます。 ただし、クラスタの総容量を監視し、メモリの効率的な使用と成長のためのスペースの提供とのバランスを取る必要があります。







GitLab 10.6はこのタスクを簡素化します。現在使用されているものと、接続されたクラスターの利用可能なすべてのコンピューティングリソースの両方が直接表示されるようになりました。 たとえば、 展開ボードの下に起動できないことが表示された場合、ユーザーはクラスターメトリックを確認して、そのリソースがすべて使い果たされているかどうかを確認できるようになります。







Kubernetes Cluster Monitoringドキュメント







Kubernetesクラスタモーニタリング







Kubernetesクラスターページの入力IPアドレス(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



GitLab 10.2では、KubernetesクラスターにIngressインストールする機能を追加しました。 インストール後、Ingressは、展開されたアプリケーションへの外部アクセスに使用できるパブリックIPアドレスを提供します。







GitLab 10.6では、このアドレスはKubernetesページに直接表示されるため、ドメインを設定してインターネットからアプリケーションにアクセスするときに使用できます。







KubernetesクラスターのIngress IPドキュメント







Kubernetesクラターページの入力IPアドレス







元のプロジェクトに付随して、フォークを押し込むことができます(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



ワークフローのフォーク配布は、GitLabなどのオープンソースプロジェクトでよく見られます。 この場合、マージ要求はフォークから元のプロジェクトに送信されます。







これで、元のプロジェクトのメンテナーは、以前のように不必要な確認要求に時間を無駄にすることなく、マージの前に小さな修正を行い、リベースすることができます。 もちろん、修正のサイズを制限する人はいません。また、大きなコミットを追加することもできます。







以前は、元のプロジェクトに付随するプロジェクトはフォークへの書き込み権限を自動的に取得しなかったため、これは不可能でした。 マージリクエストの作成者がソースブランチへの書き込みアクセス権を持っている場合、ページのメンテナーからの編集許可を選択することで、同行者にマージリクエストブランチへの書き込み権限を与えることができます。 このオプションを接続すると、元のプロジェクトのブランチをマージする権限を持つユーザーは、マージ要求ブランチにプッシュできるようになります。 デフォルトでは、このオプションは無効になっています。







付随するアクセス権ドキュメント







メンテナーはフォークからMRにプッシュできます







LibreおよびFree(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)のグループ用のシングルタスクボード



GitLabグループタスクボードは、1つのグループ内のすべてのプロジェクトのタスクを管理するための単一のインターフェイスを提供します。 すべてのグループプロジェクトのすべてのタスクは1か所に表示され、ワー​​クフローのステージ間で移動できます。







以前は、この機能はプレミアムプランとアルティメットプランでのみ利用可能で、そのようなサブスクリプションを所有するユーザーはその機能を高く評価していました。 Libreユーザーは単一のタスクボードにも関心を示しているため、このリリースではユーザーに追加します。 LibreおよびStarterインスタンスには、各グループに1つのタスクボードがありますが、多くのグループに1つのタスクボードは、PremiumおよびUltimate特権のままです。 この革新により、LibreおよびGitLab.com Freeプランの魅力が増すと考え、さらに多くのユーザーからこの機能に関するフィードバックを受け取ることを望んでいます。







タスクボードのドキュメント







LibreおよびFreeの単一グーープ発行ボード







GitLab 10.6のその他の改善点



パイプラインページのSASTセキュリティレポート(ULTIMATE、GOLD)



数か月前、 静的アプリケーションセキュリティテスト(SAST)を追加しました。 このシステムは、マージ要求のすべてのコード変更の脆弱性を自動的に検索するため、マージの前にそれらを修正し、マスターおよび最終リリースに侵入するのを防ぐことができます。







このリリースから、完全なSASTパフォーマンスレポートがCI / CD>パイプラインページに表示されます。これにより、開発者、エンジニア、その他の利害関係者のパイプラインでのセキュリティリスクの追跡がさらに容易になります。







パイレビンビューのSASTセキュリティレポート







パイプラインページのSASTセキュリティレポートドキュメント







Java-MavenアプリケーションのSAST(ULTIMATE、GOLD)



GitLabは以前、静的アプリケーションセキュリティテストシステム(SAST)の一部として、Ruby、Python、JavaScriptなどの一般的なプログラミング言語のサポートを追加しました。







GitLab 10.6では、Javaのかなり有名な自動化ツールであるMavenのサポートを追加します。 すでにSASTを使用している場合は、何も変更して再構成する必要はありません。新しいチェックが自動的に表示されます。







サポートされている言語とフレームワークの完全なリストは、 ここにあります







Java-MavenアプリのSAST







SASTドキュメント







外部認証制御(PREMIUM、ULTIMATE、SILVER、GOLD)



一部の管理環境では、プロジェクト分類システムを使用してそれらへのアクセスを制御します。 これで、GitLabで使用できるようになりました。







この機能を有効にすると、管理者は各プロジェクトを構成できるため、GitLab自体のアクセス制御に加えて、プロジェクトにアクセスするには外部サービスからの許可付きの追加アクセスが必要になります。







外部許可制御ドキュメント







DASTでの認証サポート(ULTIMATE、GOLD)



数回前のリリースで、 Dynamic Application Security Testing(DAST)をリリースしました。 DASTを使用すると、開発プロセス中にReview Appを使用してアプリケーションのセキュリティの脆弱性を動的かつ自動的に確認し、マスターとリリースのコードをマージできます。







以前は、この機能は公開ページでのみ利用可能でした。 このリリースでは、Webアプリケーションでの認証にDASTが使用する資格情報を定義して、許可されたユーザーのみがアクセスできるセクションにアクセスする攻撃者をシミュレートできます。







DASTの認証サポート







DAST IDサポートドキュメント







スターターおよびブロンズの外部CI / CD設定(スターター、プレミアム、アルティメイト、ブロンズ、シルバー、ゴールド)



GitLab 10.5では、プロジェクトのメインの.gitlab-ci.yml



外部CI / CD構成ファイル追加する機能を導入しました。 この機能は、自分のサーバー上のGitlabのPremiumユーザーとGitLab.comのSilverユーザーのみが利用できました。







ユーザーから多くのフィードバックを受け取りました。非常に多くの人がこの機能を他のサブスクリプションに追加するように頼みました。 私たちは中途で会い、この機能が自分のサーバーのスターターユーザーとGitLab.comのブロンズで利用できるようになったことをお知らせします。 パイプラインの構成を一元的に制御し、複数のプロジェクトで同じ定義を再利用する機能は、大企業と中小企業の両方にとって非常に貴重です。







オープンソースポリシーによると、無料GitLab.comの公開プロジェクトには、ゴールドサブスクリプションと同等の機能があることに注意してください。 したがって、これらのプロジェクトでもこの機能を使用できます。







追加のCI / CD構成ファイルを含めるためのドキュメント







支店概要(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



プロジェクトとチームは成長しており、ブランチはますます増えています。 新しいブランチブラウジング機能とブランチリストのフィルタリングにより、適切なブランチの検索がはるかに簡単になりました。 過去3か月間に誰かがブランチにコミットした場合、そのブランチはアクティブと見なされます。







野口拓也さん 、ご意見ありがとうございます!







支店の概要







ブランチのドキュメント







外部タスクトラッカー(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)に切り替えます



一部のチームは、外部タスクトラッカーとともにGitLabを使用します。 たとえば、JiraタスクとGitLabマージリクエストの統合は、多くのチームにとって非常に人気のあるトピックです。 この場合、GitLabのタスクは引き続き正常に機能し、チームはある時点でGitLabで完全に何かを行う必要がある場合にそれらを使用できます。







この統合を簡素化するために、プロジェクトナビゲーションに新しいリンクを追加しました。 既にカスタマイズされた外部トラッカー(Redmine、Jira、Bugzilla、またはCustom Custom Tracker)がある場合は、プロジェクトナビゲーションに別のリンクがあり、この外部システムにすばやくアクセスできます。 GitLabのタスクへのリンクは元の場所に残るため、必要に応じて両方のトラッカーを同時に使用できます。







外部の問題追跡システムに移動します







外部タスクトラッカーのドキュメント







プロジェクトのインポート/エクスポートAPI(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



プロジェクトはすべての貴重な作業(Gitリポジトリを含む)とチームの作業の組織に関するデータ(タスクやマージリクエストを含む)を保存するため、GitLabの非常に重要な部分です。 GitLabプロジェクトの既存のエクスポートとインポートを使用すると、インスタンス間およびインスタンス内でプロジェクトを簡単に転送できます。







これまで、これは手動で行う必要がありました。 このリリースでは、プロジェクトのエクスポートとインポートがGitLab APIの一部になりました。インスタンス内またはインスタンス間でプロジェクトを移動する必要がある場合、より柔軟なワークフローを作成して自動化できます。







この機能を提供してくれたTravis Millerに感謝します







プロジェクトのエクスポートおよびインポートAPIドキュメント







GitLab ChatOps(アルファ)(ULTIMATE、GOLD)



多くの組織では、緊急事態に関するワークフローやディスカッションを含むほとんどのコミュニケーションがチャットルームに移動します。 また、チームは環境の状態を確認したり、日常的なアクションを実行したりするための特定のコマンドセットを持っていることがよくあります。







GitLab 10.6では、これらの日常的なアクティビティの自動化を単純化し、Slackに直接追加したいと考えていました。 まず、YML GitLab CIに作業を追加し、Slackスラッシュコマンドとの統合を有効にする必要があります。 その後、ユーザーはスラッシュコマンド、CIジョブの名前、および必要な引数を記述できます。ジョブはランナーで開始され、結果はSlackに戻ります。







GitLab ChatOpsドキュメント







Epicsのラベル(ULTIMATE、GOLD)



このリリースでは、新しい効果的なインターフェイス機能が追加されました。GitLabタスクとマージリクエストがタグをサポートするようになりました。 これにより、それらの管理が容易になります。プロジェクトのニーズに合わせて管理をカスタマイズできます。







エピックのサイドメニューでグループタグを割り当てることができます-タスクやマージリクエストの場合と同じです。 さらに、ラベルでグループエピックのリストを並べ替えることができます(ここでも、タスクとマージリクエストの類推により、経験豊富なGitLabユーザーはこの機能をすぐに認識します)。 これにより、エピックを検索およびフィルターメニューで提供されるさまざまなカテゴリと簡単に組み合わせて一致させることができます。







Epicsのラベール







壮大なドキュメント







Epic API(ULTIMATE、GOLD)



上記のラベルサポートとともに、epicのAPIサポートを追加しました。 Webインターフェイスのエピックページの検索バーで、特定の検索オプションとフィルタリングオプションを使用して、エピックのリストを取得できます。 これには、名前または説明による叙事詩の検索、作成者とタグによるフィルター、および作成日または更新日による検索が含まれます。







Epic APIドキュメント







マージ要求承認API(STARTER、PREMIUM、ULTIMATE、BRONZE、SILVER、GOLD)



このリリースより前は、マージリクエスト承認APIの機能は、マージリクエストの承認または非承認に限定されていました。 このリリースでは、プロジェクトレベルまたはマージリクエストレベルで承認を完全にカスタマイズできます。 機能的には、GitLab Webインターフェースと同じでした。







承認APIを使用して、チームはより詳細なコードレビューを実施し、ニーズに基づいて承認プロセスをカスタマイズできます。 APIを使用して、GitLab Webインターフェイスで実行されるプロセスとその外部のプロセスを決定できます。







マージ要求承認APIドキュメント







ディスカッションAPI(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



このリリースでは、タスク、スニペット、エピックのディスカッションにAPIサポートを追加しました。 これは、タスクのすべてのコメントとディスカッションがAPIを介して利用可能になったことを意味します。 チームはAPIを使用して、メインのGitLab Webインターフェイスでは一般的に使用されない、より柔軟でカスタマイズ可能な特定のワークフローを提供できます。







マージリクエストのコメントとディスカッションのAPIのサポートは、 次のリリースでリリースされる予定です。







ディスカッションAPIドキュメント







フィリピン語、インドネシア語、トルコ語のサポート(LIBER、STARTER、PREMIUM、ULTIMATE、FREE、BRONZE、SILVER、GOLD)



GitLabのローカライズに引き続き取り組みます。このリリースでは、フィリピン語、インドネシア語、トルコ語のサポートを追加しました。







また、Premiumバージョン以上のロックされたリポジトリファイル(リポジトリロックファイル)に文字列を外部化しました。GitLabのより多くの文字列に、より多くの言語を追加できるようになりました。







GitLab翻訳にも参加したい場合は、 翻訳コミュニティに参加してください。







GitLabローカリゼーションドキュメント










詳細なリリースノートと更新/インストール手順は、元の英語の投稿にあります: GitHubおよびより深いKubernetes統合のためにCI / CDでリリースされたGitLab 10.6







英語からの翻訳はrishavantsgnl_05によって行われました








All Articles