次年度の最後のリリースでは、 マスタープランを完了し、取り組みの内容について興味深いものをお見せしたいと思います。
GitLab 8.15は、自動デプロイ機能を導入しました-自動デプロイとレビューアプリケーションチューニング(レビューアプリ)。 Ruby on Railsプロジェクトの場合、このセットアップには1分もかかりません。 1:42のビデオでどのように機能するかをご覧ください 。
さらに、環境へのアクセスがより高速かつ簡単になりました。GitLabのターミナルを介して直接アクセスできます(同上5:18 )
コンテナ(コンテナ)の全機能、継続的な統合と展開(継続的な統合と展開、CD / CIの略)、レビューアプリケーション(アプリのレビュー)、コンテナスケジューラ(コンテナスケジューラ)をフルに活用する機会を提供したいと考えています。 GitLab 8.15では、チューニングのすべての骨の折れる作業を引き受けました。すべては完全に透過的に行われます。 デモビデオでは、約12分で、Kubernetesクラスター上にレビューアプリ、複数の環境、およびチャット(チャット統合、チャット統合によるインフラストラクチャ管理)を備えたRubyアプリケーションをセットアップしてデプロイします。 GitLabがなければ、このようなタスクは通常、数週間ではなくても数日かかります。
私たちのほとんどにとって、12月は休日と贈り物の月です。 GitLabはまた、多くの新機能をプレゼントとして受け取りました。
今月のサンタクロース MVP- Michael Munch。GitLabに美しい数式(LaTeX)を表示しました。 Michaelは、300を超えるコメントを含むいくつかのマージリクエストで6か月以上にわたってこの機能に取り組んできました。
また、 Warren Postmaが、タスクトラッカーとコミュニティフォーラム 、そして一般的にGitLabを普及させてくれたことに感謝します。
また、GitLabのgitフックを大幅に強化した機能の技術設計と実装に貢献したElanRuusamäeとDirkHörnerに感謝します。
ウォーレン、マイケル、エラン、ダークに感謝します!
自動展開
フル機能のCI / CIパイプライン(CI / CDパイプライン)を構成し、コンテナースケジューラー(コンテナースケジューラー)を介した展開をすべてのユーザーが使用できるようにします。 習得は簡単ですが、スケーラブルで透過的でなければなりません。
Auto Deployはこの構成を有効にします。 プロジェクトに新しいボタンが表示されます。クリックすると、Dockerを使用して使用しているコンテナスケジューラの展開スクリプトを含む.gitlab-ci.yml
ファイルテンプレートでマージリクエスト(マージリクエスト、別名プルリクエスト)が作成されます。 このテンプレートには「アプリのレビュー」設定もあるため、マージリクエストを受け入れる前でも、新しい機能の動作をすぐに確認できます。
これはおそらく、ワンクリックで展開する最速の方法です。実装は透過的であり、すべての設定はgitに保存され、チームで簡単に作業できます。
GitLab 8.15のAuto Deploy設定は、ビデオの1:42に示されています。
これが最初の反復であり、これまでのところ、OpenShift外部クラスターへのデプロイに使用できるのはテンプレートのみです。 HerokuishおよびHeroku Buildpacksを使用して、アプリケーションをドッカーイメージにパックし、OpenShiftでKubernetesにデプロイします。 将来、他のコンテナスケジューラとクラウドプラットフォーム(通常のKubernetes、Mesos、Docker Swarmクラスターなど)のサポートを追加する予定です。 テンプレートのコレクションへの貢献を楽しみにしています。
詳細については、 自動展開のドキュメントを参照してください。
Web端末
状況を想像してください。GitLabでは、特定のプロジェクトからの要求に応じて、いくつかの動的な環境が作成され、動作します。 これらは、レビュー、ステージング、または実稼働環境用のアプリケーションです。 通常、それらに直接アクセスするには追加の努力が必要です。 これは迷惑な制限です。実験やデバッグのために、自分の手で何かをするのが便利です。
Webターミナルを使用すると、このタスクは大幅に簡素化されます。 プロジェクトの環境のページに移動して、ターミナルボタンをクリックするだけです。 GitLabは、目的のホストとのSSH接続を確立し、ブラウザーウィンドウに完全なコンソールを提供します。
デモビデオでは、Web端末の操作が5:18に示されています。 この機能が仕事のスピードアップにどのように役立ったかについてのフィードバックをお待ちしています。
Webターミナルのセットアップと使用に関する詳細情報は、システム管理者向けのドキュメントおよび作業環境向けのユーザーマニュアルに記載されています 。
Bitbucketからのインポートの改善
Bitbucketからのインポートはさらに柔軟になりました。
GitLab 8.15では、プルリクエストのインポート、GitLabマージリクエストへのコメント、マイルストーン(一般的なタスクをマークする開発の大きな段階のラベル)およびWikiページのインポートを追加しました。
合計で、インポートされたオブジェクトの次のリストが取得されます。
- リポジトリの説明
- Gitリポジトリ自体
- それらに関するタスクとコメント
- プルリクエストとコメント
- マイルストーン
- Wiki
インポートすると、プルリクエストとタスクへのすべてのリンク、およびアクセスレベル(パブリックまたはプライベート)が保存されます
Bitbucketからのインポートの詳細については、 ドキュメントを参照してください。
グローバルgitフック
GitLabは、gitフックを使用して、プッシュとそのコンテンツに特定のルールとトリガーを適用する機能を提供します。 ただし、これまでのところ、プロジェクト間でこれらのルールを標準化する唯一の方法は、それらを新しいプロジェクトにコピーすることです。
グローバルフックの追加により、GitLabインスタンスの各プロジェクトに適用されるgitフックを作成できるようになりました。 これにより、すべての新しいコードに対する統一ルールの適用が簡素化されます。
hooks/<hook_name>.d/
作成するか、それらのディレクトリへのGitLabシェルパスを指定します。
注文したカスタムgitフック
カスタムgitフックを作成する場合、それらの使用順序が重要になる場合があります。特定のフックが実行されない場合、次のフックを実行しようとしても意味がありません。 順序付けされたフックは字句順に実行され、それらのいずれかが失敗すると実行を停止します。
たとえば、フック1-hook.sh
および2-hook.sh
作成する場合、 1
は常に2
前に実行されます。
この革新により、フックの機能が強化され、着信コミットの処理をカスタマイズする機能が追加されます。
このトピックに関する詳細は、 git hook documentationで見つけることができます 。
ElanRuusamäeとDirkHörnerに、この機能の開発と実装、およびグローバルgitフックの支援に感謝します!
LDAPグループ(EE)のユーザーアクセスレベルをオーバーライドする
GitLab EEは、LDAPグループをGitLabグループと同期する機能を提供するため、グループのすべてのユーザーに特定のアクセスレベルを割り当てます。 たとえば、LDAP developers
グループのすべてのユーザーにdevelopers
アクセスレベルを割り当てることができます。 したがって、新しい開発者がLDAPグループに追加されると、適切なアクセスレベルが自動的に付与されます。
GitLab 8.15は、この機能の機能を拡張します。 これで、アクセスレベルの自動同期に加えて、特定のユーザー向けに再定義できるようになりました。 この革新により、グループとプロジェクト間のアクセスレベルの管理が簡素化されます。
スラックチャット
バージョン8.14では、Mattermostとの統合により GitLabにChatopsを追加しましたが、Slackでも同じことをしています! つまり、Slackからタスクを直接作成、表示、検索できるようになりました。これにより、タスクの議論からトラッカーでの設定に簡単に切り替えることができます。
さらに、任意の環境との間で展開できるようになりました。 たとえば、入力するとき
/awesome-website deploy from staging to production
GitLabは、ステージングからマスターへの最新のコミットを展開します。
SlackのChatopsは、プロジェクトプロパティで構成できます。 いつものように、GitLabとのチャット統合の開発へのユーザーの貢献を歓迎します。
ワンクリックマターモストセットアップ
GitLabとMattermostの統合は大幅に簡素化されています。 これは、 このビデオの3:16に示すように、ワンクリックで実行できます。
MattermostおよびSlackとの統合により、タスクの作成、表示、検索、およびあらゆる環境への展開が可能になります。
Mattermostを使用したChatops統合ドキュメント
通知のある手紙の違い
ご存知のように、誰かがあなたの差分にコメントすると、通知レターが送られます。 現在、この差分の一部がそのような文字に追加されているため、目の前にコンテキストがすぐにあります。
インターフェースの機能強化
GitLabを使用してユーザーの作業を簡素化するために真剣に取り組みました。 その結果、このリリースにはGitLabでの作業をさらに楽しくする多くの変更が含まれています。
フォントの更新
読みやすさとさまざまなOS /ブラウザーのサポートを改善するために、GitLabはシステムフォントを使用するようになりました。 これらのフォントは特定のプラットフォーム向けに最適化されており、GitLabで作業する場所に関係なく、GitLabと同等に快適に作業できます。
明確にするために、 元のマージ要求を確認できます。
インターフェイスのピクセル幅を縮小
読みやすくするために、タスクコンテナとマージリクエストの最大幅が縮小されました。 これは、GitLab全体で見られる文字列の膨大な長さを減らすプロセスの最初のステップにすぎません。 このタスクの作業の進捗状況は、 対応するチケットで確認できます。
ユニークな外観タグ
タグの外観が変更され、ボタンと視覚的に異なるようになりました。 将来のバージョンでステータス ラベルとバッジをさらに識別しやすく認識できるように、この方向で作業を続けます。
スクロールおよび読み込みアセンブリの改善
アセンブリのスクロールと読み込みの動作が改善され、見た目が次のようになりました。
より小さなページサイズ
システムフォントを作成し、オートコンプリートを改善したため、GitLabのすべてのページのサイズを大幅に削減しました。 GitLab CEプロジェクトでのこのマージリクエストは、1800 Kバイトではなく718 Kバイトになりました!
改善された空白ページのヒント
新しいユーザーがGitLabを習得できるように、アプリケーション全体の多くの空白ページに有益で楽しいヒントを追加しました。
メタチケットをチェックして、新しいヒントを投稿した場所を見つけてください。
その他の変更と修正
- アクセシビリティの改善:ドロップダウンオプションにフォーカス状態を追加
- サイト全体のメインナビゲーションとタブにホバーアクションを追加しました
- ボタンのホバーアクション、フォーカス、アクティブ状態の改善!7797
- チケットまたはマージ要求のメニューと組み合わせた要素のホバーアクションを追加しました!7777
KaTeXによるMarkdownおよびAsciiDocの数学サポート
リポジトリのコメントとファイルで、Khan AcademyのKaTeXライブラリを使用して数学データを正確に配置できるようになりました。
インライン数式を作成するには、行コードの周りにドル記号を使用します: $`a^2+b^2=c^2`$
複数行の数式をスタイルするには、 math
言語を使用してコードをブロックします。
```math a^2+b^2=c^2 ```
これは、Markdownだけでなく、AsciiDocドキュメントでも機能します。 数学サポートドキュメントを読む
この機能を提供してくれたMichael Munchに感謝します。
マージコミットメッセージはクリーンです
以前のバージョンでは、マージコミットメッセージは、ヘッダー、マージ要求の説明、およびマージ要求リンクで構成されていました。 マージリクエストの説明には、コードの変更に不可欠ではないレビュー、スクリーンショット、およびその他の詳細のリクエストが含まれていることが多いため、これはgit log
および同様の機能を使用する場合は読みにくいです。
マージコミットメッセージはデフォルトで次のようになります。
Merge branch '$SOURCE_BRANCH' into '$TARGET_BRANCH' $TITLE Closes $CLOSING_ISSUE_REFERENCES # only present if the MR closes issues See merge request $MERGE_REQUEST_REFERENCE
以前のデフォルトメッセージは、マージコミットメッセージの設定で利用できます。
ありがとう、ガブリエル・ギゾッティ!
GitLab Flavored Markdownの簡単なプロジェクト間リンク
以前は、プロジェクトが同じ名前空間にあったとしても、別のプロジェクトの何かへの参照には常に名前空間が含まれていました。
短いリンクが利用可能になりました。 プロジェクト内
gitlab-org/gitlab-ce
では、GitLab Workhorseのタスク番号1にアクセスできるようになりました。
gitlab-org/gitlab-workhorse#1
gitlab-workhorse#1
代わりにgitlab-org/gitlab-workhorse#1
gitlab-workhorse#1
書くことにより、
キーストロークの貴重な時間を節約できます!
詳細については、MarkdownドキュメントのGitLabリンクに関する特別なセクションを参照してください。
Oswaldo Ferreiraに感謝します!
マージリクエストの未解決のディスカッションからチケットを作成する
バージョン8.14では、 未解決のディスカッションがある場合にマージをブロックする機能を追加しました 。
マージリクエストの未解決のディスカッションから新しいチケットを作成する機能を追加し、同時にこのディスカッションを許可しました。 これは、何か新しいものをマージする必要があるが、コードレビューのコメントを忘れたくない場合に役立ちます。
ボブ・ヴァン・ランデュイに感謝します!
コンベヤー回路(CI)からの手動アクション
手動アクションを使用すると、CIの特定のタスクに進む前に手動操作を要求できます。 パイプライン全体が自動的に機能しますが、直接クリックして本番環境にデプロイする必要があります。
これは、コンベア回路から直接行うことができます。 特定のタスクを開始するには、「再生」ボタンをクリックするだけです。
ユーザーアクションAPI
ユーザーが最後にGitLabを使用した時期をすぐに理解できるように、GitLabに特別な管理APIを追加しました。 インスタンス内の任意のユーザーの最後のアクティビティのタイムスタンプを取得できます。
プロジェクトまたはグループメンバーを並べ替える
名前、アクセスレベル、または参加日で並べ替えることで、プロジェクトやグループ内のユーザーを簡単に見つけることができるようになりました。
詳細なリリースノートと更新/インストール手順は、元の英語の投稿で見つけることができます: https : //about.gitlab.com/2016/12/22/gitlab-8-15-released/
英語からの翻訳は、翻訳チーム「Brain and Partners」、 http://nadmosq.ruによって行われました。 Nick_volynkin 、 rishavant 、およびsgnl_05が翻訳に取り組みました。