GitLab 8.11:カンバンボードとワンクリックの競合解決

この記事はGitLabリリース記事の翻訳です。 リリースは毎月22日にリリースされます。







前のものを逃した場合、ここにリンクがあります: 8.10、8.9、8.8










新しいGitLab 8.11には非常に多くの興味深いものがあるため、建設的な物語の枠組みで自分を抑えることはほとんどできません!







そのため、新しいバージョンで登場しました:









今月のMVPはClement Hoです。 マージリクエストとタスクの作業における応答性について彼に感謝します。







チケットボード(発行ボード)



GitLabの問題は非常に柔軟なツールです。 それらには相互のリンクを含めることができ、優先順位を指定したり、人気順に並べ替えることができます。 チケットボードは、彼らと働く新しい方法を追加します。







これで、ワークフローを設定し、チケットのステータスに関する情報をすばやく取得できます。 これらはすべて、かんばんやスクラムで使用されているものと同様のシンプルで快適な黒板で利用できます。







GitLab 8.11のチケットボード







ボードはプロジェクトごとに自動的に作成されます。 デフォルトでは、すべてのオープンチケットがバックログを形成し、すべてのクローズチケットが完了リスト(完了リスト)に表示されます。







新しいリストを追加することにより、新しいワークフローを作成します。 チケットのメンバーシップは、ラベルによって決定されます。 チケットがリストに追加されると、それに対応するラベルが追加され、リストから削除されると、ラベルが削除されます。











、バック







などのタグを使用していた場合は、それらのリストを作成します。 チケットは自動的に表示されます。 そして、もちろん、チケットは複数のリストに属することができます。







この機能の動作を確認するには、GitLab CEボードバージョン8.12をご覧ください。









チケットボードのドキュメント


合併紛争解決



大規模で活発に開発されたプロジェクトのMerzhiは通常、多くの問題を引き起こします。 組み込みの競合解決ツールが必要です。 そのため、GitLabインターフェースで直接行うことができます。







GitLab 8.11での合併の競合解決







競合によってマージがブロックされた場合、「これらの競合を解決する」ボタンをクリックして、解決インターフェイスに移動するだけです。 そこで必要な行を選択し、結果をコミットできます。







もちろん、これはすべての競合を解決することはできません。 しかし、ほとんどの場合、このツールがマージリクエストのスピードアップに役立つことを願っています。







紛争解決ドキュメント


特定のユーザーのブランチ許可(EEのみ)



Enterprise Editionでは、ユーザーのサブグループ( developers



owners



)だけでなく、特定のユーザーに対しても、ブランチにプッシュまたはマージする権限を構成できます。







新しい設定は、サブグループの権限など、他の機能と組み合わせることができます。 たとえば、PetlおよびMasha timlidのみがブランチに直接プッシュすることを許可できますが、 developer



レベル以上のすべてのメンバーに対するこのブランチへのマージリクエストを確認できます。







GitLab 8.11のブレーンチ許可







各アクション(プッシュおよびマージ)について、任意の数の許可ユーザーを構成できます。







ブランチ許可ドキュメント


マージリクエストのコメントを「閉じる」。



マージリクエストには、混乱する可能性のある長いコメントスレッドがあります。 しかし、それらはそれぞれ重要です。







コメントまたはブランチ全体を処理済みとしてマークして閉じる機能を追加しました。







GitLab 8.11でのデカイションの終わり







マージリクエストには、オープンディスカッション用のカウンターと、次のオープンディスカッションに移動するための便利なボタンもあります。







GitLab 8.11の次の公開されたディカサシションに移動







マージリクエストのディスカッションを閉じるためのドキュメント


コンベアのスキーム。



GitLabパイプラインは、多くのシリアルアセンブリとパラレルアセンブリを持つかなり複雑な構造を持つことができます。 これで、特定のコンベヤーの図を見て、その構造と状態を表示できます。 このようなスキームは、その中で発生するプロセスを明確に示しています。







GitLab 8.11のパネル図







マージリクエストページまたはコンベヤのリストでコンベヤをクリックするだけです。 このパイプラインの図には、完了、失敗、アクティブ、および保留中のアセンブリが表示されます。







チケットおよびマージリクエストテンプレート。



テンプレートを使用してチケットを標準化し、リクエストをマージする機能は、すでにGitLab Enterprise Editionにありました。 GitLab 8.11以降、多くのテンプレートが存在する可能性があります。たとえば、1つはエラー用で、もう1つは文用です。 そして、チャンス自体はすべてのバージョンにあります:GitLab.com、GitLab CE / EE。







テンプレートはMarkdownマークアップで記述され、リポジトリの.gitlab/issue_templates



および.gitlab/merge_request_templates









GitLab 8.11のチケットおよびマージリクレストテンプレント







この機能の目的は、文、エラーメッセージ、およびマージ要求の外観と完全性を改善することです。







テンプレートのドキュメント


スラッシュコマンド



GitLabには、IRC、HipChat、Mattermost、またはSlackのように、スラッシュコマンド( /command



)が追加されました。 キーボードから手を離さずに、ラベルの変更、アーティストの割り当て、チケットのサブスクライブとサブスクライブ解除など、さらに多くのことができます。 チームは、コメントのほか、チケットまたはマージリクエストの説明で作業します。







それらの使用方法:







  1. コマンドを含むテキストを入力します(必要に応じて、キーボード、テンプレート、APIから)。
  2. コメントの送信、チケットまたはリクエストの保存を確認します。
  3. コマンドが実行され、テキストに表示されなくなります。 コメントがチームのみで構成されている場合、実行されますが、公開されません。


GitLab 8.11のコメントトのスラッシュコマンド







新しいチケットまたはリクエストを作成する場合でも、スラッシュコマンドを使用できます。







GitLab 8.11でチケットを作成する際のスラッシュコマンド







複数のコマンドが順番に指定されている場合、それらすべてが実行されます。







スラッシュコマンドの使用方法に関するいくつかのアイデア:









私たちは、あなたが使用する他の方法が発明するものについてのあなたの物語を楽しみにしています。







スラッシュドキュメント


Kodingとの統合



Kodingを使用すると、クラウドで開発環境を実行し、チーム全体でこの環境に同じ設定を使用し、ローカルエディターを使用することもできます。 これにより、新しいコンピューターごとに変更を加えても、スタックのインストールと構成に時間を費やす必要はありません。







バージョン8.11以降、GitLabはKodingとの統合をサポートしています。 これで、ボタンを押すだけで、プロジェクト全体または個別のマージリクエストをポンプアウトして、本格的なクラウドIDEで開くことができます。 (キットの統合はまだGitLab.comに追加されていないことに注意してください)。







Admin>アプリケーション設定でKodingサポートを有効にします







Koding、GitLab 8.11に統合されたIDE







プロジェクトで動作するようにKodingをセットアップします。







Koding、GitLab 8.11に統合されたIDE







Koding、GitLab 8.11に統合されたIDE







そしてそれだけです! これで、プロジェクトのマージリクエスト、ブランチ、およびコミットを、完全なIDEにすばやく収縮できます。







Koding、GitLab 8.11に統合されたIDE







Koding + GitLabバンドルの操作を示す短いビデオを用意しました:









GitLabでのKodingの詳細については、 ドキュメントを参照してください。







リクエストコンベヤーの統合



パイプラインがマージリクエストに表示されるようになりました。







GitLab 8.11のマージリクレストのパイプレイン







コンベアをクリックすると、その図とそれに関連するビルドが表示されます。







マージリクエストの展開ステータス表示



環境のURLを指定できるようになりました。







GitLab 8.11で任意の環境のURLを設定します







これにより、GitLabはマージ時にデプロイメントが自動的に発生する場合に、マージリクエストのデプロイメントステータスを表示します。







GitLab 8.11のマージリクレスでデプロテステータスを確認する







マージに成功すると、GitLabはデプロイメント環境へのリンクを表示します。これにより、マージ要求の結果をワンクリックで確認できます。







パイプラインのWebフック



GitLabパイプラインとの統合を簡素化するために、それらにWebフックを追加しました。 パイプラインが作成、開始、またはシャットダウンされるときに機能します。







Webフックを追加するには、プロジェクトの[設定]メニューから[ Webhooks



]を選択します。







コードの強調表示と非表示



GitLabエディターは強調表示をサポートし、コードブロックを非表示にできるようになりました。







GitLab 8.11でのコードの強調表示







プッシュのマージリクエストへのリンク



現在、GitLabにプッシュすると、マージリクエストの作成へのリンクと、現在のリクエストに関連するすべてのマージリクエストへのリンクが表示されます。







GitLab 8.11でプッシューとすきにリクエストリンクをマージする







テストカバレッジアイコン



これで、プロジェクトのテストカバレッジを示すアイコンを作成できます。







GitLab 8.11のカバレッジバッジ







GitLabでカバレッジマッピングを使用していない場合は、パイプライン設定でそれを有効にします: pipelines/settings









テストカバレッジアイコンのドキュメント


プロジェクトへのアクセスに関する一時的な制限



単一のユーザーまたはグループにプロジェクトへのアクセスを許可する場合、特定の日付を設定してから、プロジェクトへのアクセスをそれらのユーザーまたはグループに閉じることができるようになりました。







これにより、一時的なチームメンバーの権限を簡単に操作できます。







シャード間でプロジェクトを移動する(EEのみ)



GitLab 8.10では、複数のマウントポイントが追加れました







GitLab 8.11では、rakeコマンドを使用してシャード間でプロジェクトを移動する機能が導入されました。 この機能は頻繁に使用するためのものではありませんが、新しいシャードをテストしたり、頻繁に使用するプロジェクトをすばやくアクセスできるリポジトリに移動したりする場合に役立ちます。







パフォーマンスの強化



このリリースでは、生産性の向上を目的とした多くの変更が導入されました。マージリクエストとその差分はさらに高速です。 以下は、GitLab.comにGitLab 8.11 RC2を展開した後のパフォーマンスの違いを示すグラフです(パフォーマンスの低下は展開に当たります)。







マージリクエストの差分読み込み時間:







GitLab 8.11のパフォーマンスの改善







差分を表示するときに実行されたSQLクエリの数:







GitLab 8.11のパフォーマンスの改善







差分を表示するときにSQLクエリの実行に費やした時間:







GitLab 8.11のパフォーマンスの改善







コンベヤーのパフォーマンスも大幅に改善されました。







GitLab 8.11のパフォーマンスの改善







以下は、改善点と関連するマージリクエストの詳細なリストです。







機能強化





新機能





計装





GitLab Mattermost 3.3



GitLab 8.11には、 Mattermost 3.3Slackのオープンソースアナログ)が付属しています。







Mattermost 3.3は、中国語、韓国語、オランダ語のローカライズを追加しました。Goのボットです

投稿にフラグを立てる機能、 @here



の形式の言及など。







さらに、このバージョンのMattermostにいくつかのセキュリティ更新プログラムが含まれているため、更新することを強くお勧めします。







Redis Sentinelのサポート



GitLabにRedis Sentinelの実験的なサポートが追加されました。







ドキュメントのすべての詳細


その他の変更



このリリースには、さまざまなセキュリティ修正を含む、他の多くの改善が含まれています。 変更の完全なリストはChangelogで入手できます。







バロメーターのアップグレード



GitLab 8.11へのアップグレードには、データベースの移行が原因でダウンタイムが必要になります







GitLab.com Webサイト(既知のGitLabインスタンスの最大のもの)のダウンタイムは15〜30分でした。 インスタンスのデータ量によっては、ダウンタイムが短くなる場合があります。







移行の1つは、いくつかのテーブルのいくつかの列を削除します(GitLabインスタンスは、アクセス中にこのデータが消えないように最小化する必要があります)。







他の2つの移行では、新しいテーブルが作成され、システムに既に存在するデータに基づいて情報が書き込まれます:この場合、追加されたデータが移行プロセス中に変更されないようにダウンタイムが必要です(8.11の展開が完了するまで変更されないままです)。







最後に、別の移行により2つの外部キーが追加されます。ここでは、可変データへの同時アクセスがないことを保証するためにダウンタイムが必要です。







Depy Ruby 2.1



このリリースでは、Rubyをバージョン2.3にアップグレードしました。







手動インストールの場合、Rubyを2.3にアップグレードすることを強くお勧めします。 Omnibusを使用してGitLabをインストールすると、Ruby 2.3が自動的に使用されます。







Ruby 2.1および2.2のサポートは、GitLabバージョン8.13で完全に廃止されます。







他の人よりも早く更新した人向け



リリース直後と再構成プロセス中に8.11にアップグレードした場合、 undefined method merge! for nil:NilClass



エラーを受け取りましたundefined method merge! for nil:NilClass



undefined method merge! for nil:NilClass



場合、より新しいバージョン.1: 8.11.0-ce.1



新しいパッケージをダウンロードします。







apt-get update



apt-get install gitlab-ce



/ apt-get install gitlab-ee



apt-get install gitlab-ee



、すべてがapt-get install gitlab-ee



に修正されます。







GitLab APIおよびGit over HTTPを使用する場合の強制的な2要素認証



二要素認証を有効にしていて、OAuth2の/sessions



またはリソース所有者パスワード認証情報フローのメソッドを介してAPIトークンを取得しようとすると、ログインできません。 このような場合にログインを成功させるには、パーソナルアクセストークンを使用する必要があります。







個人用アクセストークンの詳細


Elasticsearchのインデックスの再作成(EEのみ)



Elasticsearchインデックスの構造を変更し、親子関係を使用するようになりました。 これによりパフォーマンスは向上しますが、すべてのElasticsearchインデックスを完全に再構築する必要があります。 8.11にアップグレードした後、古いインデックスを手動で削除し、新しいインデックスを作成する必要があります。







古いインデックスを削除するには、Elasticsearchに次のリクエストを行います。







 curl -XDELETE 'http://localhost:9200/_all/'
      
      





インデックスを再構築するには、 Elasticsearchと統合するためドキュメントの手順に従います







注意上記は、以前のバージョン(8.10)からアップグレードする場合にのみ適用されます。 以前のバージョンからアップグレードする場合は、すべての中間バージョンの「バロメーターのアップグレード」セクションを確認してください。







8.0より前のGitLabのバージョンからアップグレードする場合で、CIを有効にしている場合は、 最初に8.0アップグレードする必要があります







デフォルトでは、アップグレードプロセス中に、すべてのOmnibusパッケージが停止され、その後、すべての移行が実行されてから、再び開始されます。 この動作は、更新のサイズとは無関係です。 ファイル/ etc / gitlab / skip-auto-migrationsを作成することにより、この動作を変更できます。







設置



GitLabをゼロからインストールする場合は、対応するセクションをお読みくださいhttps ://about.gitlab.com/installation/







更新する



更新手順: https : //about.gitlab.com/update/







エンタープライズ版



GitLab Enterprise Editionには、LDAPグループのサポートなどの追加機能が含まれています。 詳細については、 GitLab EEを参照してください。







GitLab EEはサブスクリプションでのみ利用できます 。詳細と価格はこちらで確認できます







新しいツールをインストールして構成するのに十分な時間がありませんか? サブスクリプション価格には、サーバーにGitLabをインストールおよび更新するためのサービスが含まれています。







PS更新する場合は、すぐに8.11.2にアップグレードしてください







PPS Cheburequenick_volynkinおよび@ sgnl_0が翻訳に取り組みました








All Articles