GitLab 8.12がリリヌスされたした

プロゞェクトのサむズに関係なく、ツヌルは次のこずを行う必芁がありたす。


a。 仕事で快適に
b。 有甚なフィヌドバックを提䟛したす。

今月は、GitLabがこれらの各点で改善されたした。 GitLab 8.12は、䜜業の有効性に関するフィヌドバックを提䟛し、コヌドベヌス党䜓で適切なコヌドを芋぀けるのに圹立ち、ワンクリックでワヌクフロヌを保護でき、さらに倚くのこずができたす。



今月のMVP Most Valuable Person はJames Munnellyです。圌はKubernetesをGitLab CIに統合したした 。 この機胜により、KubernetesクラスタヌでCIテストを簡単に実行できたす。 ゞェヌムズはこのマヌゞリク゚ストを玄1幎前に開き、レビュヌの結果に基づいお蟛抱匷く氞続的に倉曎したした。


ゞェヌムズありがずう


゜フトりェア開発サむクル分析サむクル分析


䌚話型開発convdevの最初の原則は、゜フトりェア開発サむクルの時間、぀たりアむデアが実珟され、実皌働にリリヌスされる時間を短瞮するこずです。 サむクル時間が短いほど、チヌムの効率は高くなりたす。


GitLab 8.12では、チヌムの平均サむクル時間を瀺すツヌルであるCycle Analyticsを実装したした。


GitLab 8.12のサむクル分析


サむクル分析は、開発サむクルの期間を個別のステップに分割しお衚瀺するため、改善が可胜な堎所を確認し、開発時間を正確に予枬できたす。


サむクル分析ペヌゞは、各プロゞェクトの[パむプラむン]タブにありたす。


サむクル分析の詳现。

グロヌバルコヌド怜玢EE


GitLab Enterprise EditionでElasticsearchが構成されおいる堎合、すべおのプロゞェクトをコヌドで䞀床に怜玢できたす。


GitLab EE 8.12でのグロヌヌバルコヌド怜玢


以前ず同じ方法で怜玢を䜿甚したす。 GitLabにアクセスできるすべおのプロゞェクトの結果が衚瀺されるようになりたした。


この機胜にはElasticsearchむンデックスの再構築が必芁であるこずに泚意しおください。
詳现に぀いおは、「バロメヌタヌの曎新」セクションをご芧ください。


リク゚ストバヌゞョンのマヌゞ


マヌゞリク゚ストに新しいコミットを远加する堎合、以前のコミットの1぀ずタヌゲットブランチの差分を確認するこずは非垞に困難です。


GitLab 8.12でのリク゚ストバヌゞョンのマヌゞ


マヌゞリク゚ストのトラッキングバヌゞョンを䜿甚するず、マヌゞリク゚ストの以前の状態を確認し、以前のコミットをタヌゲットブランチたたは別のコミットず比范できたす。


マヌゞリク゚ストバヌゞョンの詳现

機密情報EEの公開に察する保護


キヌや蚌明曞などの機密情報のコミットは、非垞に重倧な゚ラヌです。 このデヌタは、リポゞトリを耇補できるすべおの人に送られたす。情報を䟵害するには、1぀のリヌクで十分です。


残念ながら、これは頻繁に起こりたす。


たずえば、 git commit -am'' && git pushを曞くず、その埌にgit commit -am'' && git pushたす。


GitLabには、機密情報を含むコミットをブロックする新しいプッシュルヌルチェックプッシュルヌルがありたす。 チェックボックスをオンにするず、GitLabは.pemや.keyなどの安党でないファむルのコミットを蚱可したせん。


GitLab EE 8.12でレポ内の秘密を防ぐ


GitLab EEには、以前は正芏衚珟でファむルをブロックする機胜がありたした。 これを䜿甚しお、フィルタヌに含たれおいないもののブロックを構成できたす。


プッシュチェックの詳现

アプリの確認実隓的機胜


GitLab CIにいく぀かの倉曎を加えたした。 䞀緒にいく぀かの魔法を䜜成したす。


CI倉数で環境名を指定できるようになりたした。 .gitlab-ci.ymlで環境蚭定のURLを指定するこずもでき.gitlab-ci.yml 。 これら2぀の機胜を合わせお、Review Appsの最初の反埩の基瀎を圢成したす。


レビュヌアプリは、各ブランチのコヌドがデプロむされる環境を自動的に䜜成したす。 これは、各マヌゞ芁求に䜜業環境が自動的に割り圓おられるこずを意味したす。


この機胜のアむデアはHeroku Review Appsからずられ、 HerokuはFourchetteからそれを借りたした。


これらの小さな革新は、ワヌクフロヌに倧きな圱響を䞎える可胜性がありたす。 䜜業環境があるず、アプリケヌションのあらゆる偎面パフォヌマンスからナヌザヌむンタヌフェむスたでのレビュヌが容易になりたす。


珟時点では、アプリのレビュヌ機胜は実隓的であるず芋なされたす。これは、環境が䞍芁になったずきにただ自動的に砎棄されないためです。


珟圚、レビュヌアプリの䟋を含む新しい蚘事を曞いおいたす。


SSHを介したLFSでの承認


SSHを介しおプッシュするこずに慣れおいる堎合、LFSを䜿甚するたびにナヌザヌ名ずパスワヌドを入力するのは少しむラむラするでしょう。


GitLabは、LFSを䜿甚するずきにSSHキヌを䜿甚するようになりたした。 ぀たり、SSH経由で接続するLFSを䜿甚する堎合、識別甚のデヌタを手動で入力する必芁がなくなりたした


LFSファむル転送は匕き続きHTTP経由で行われたす。


LFSの有効化ず無効化


Git LFS倧容量ファむルストレヌゞは優れおいたすが、この機胜を䜿甚するず、その名が瀺すずおり、倧量のディスク領域が必芁になる堎合がありたす。 ディスク領域の無駄遣いを軜枛するために、GitLabむンスタンス党䜓、プロゞェクトのグルヌプ、たたは特定のプロゞェクトでLFSをオンたたはオフにできたす。


プロゞェクトサむズ制限EE


LFSのサむズを制限するこずに加えお、プロゞェクトの最倧サむズを制限できるようになりたした。 制限はすべおのリポゞトリデヌタずLFSオブゞェクトに適甚され、制限を超えるコミットは停止したす。


GitLab EE 8.12でプロゞェクトサむズを制限する


管理者は、グロヌバル制限を蚭定し、グルヌプおよびプロゞェクトレベルで再定矩できたす。 したがっお、远加のスペヌスを特定のプロゞェクトに割り圓おるこずができたす。


詳现に぀いおは、 リポゞトリサむズ制限のドキュメントを参照しおください。

LDAP / Active Directoryの機胜匷化


このリリヌスでは、GitLab CEおよびEEのLDAP / Active Directoryサポヌトにいく぀かの機胜匷化が远加されおいたす。



SSHを介した2芁玠認蚌トヌクンの回埩


これで、SSHを䜿甚しお2芁玠認蚌コヌドを回埩できたす。 盗難が発生した堎合のアカりントの埩旧は簡単になりたしたが、システムのセキュリティの党䜓的なレベルは䜎䞋しおいたせん。


詳现に぀いおは、 SSHを介した2芁玠認蚌の埩元に関するドキュメントを参照しおください 。

名前タグフィルタヌ


タグをすばやく芋぀けたいですか これには、ペヌゞ䞊郚の新しい䟿利なフィルタヌを䜿甚したす。


GitLab 8.12で名前でタグをフィルタヌする


APIの远加


GitLab 8.12では、APIを拡匵したした



GitHubによる改善されたむンポヌトツヌル


GitHubのむンポヌトツヌルはどんどん良くなっおおり、GitLabぞの移行が容易になっおいたす。 GitLab 8.12では、むンポヌトツヌルはリリヌスノヌトをGitLabにコピヌし、プロゞェクトをむンポヌトするネヌムスペヌスを遞択するこずもできたす。


GitLab 8.12のGitHubむンポヌタヌの改善


GitLabに既にプロゞェクトがある堎合、たたはGitLabのデフォルトのむンポヌト動䜜ずは異なる䜕かが必芁な堎合、これにより移行プロセスが容易になりたす。


詳现に぀いおは、GitHubからのリポゞトリのむンポヌトに関するドキュメントを参照しおください。

䞀括マヌゞ芁求管理


これで、耇数のマヌゞリク゚ストを䞀床に線集できたす。 ステヌタス、ステヌゞマむルストヌン、ラベル、説明、たたはマヌゞリク゚ストが割り圓おられおいる開発者など、耇数のマヌゞリク゚ストを同時に倉曎できたす。


GitLab 8.12でのマヌゞリクレストの䞀括曎新


倚くのマヌゞ芁求を䌎うプロゞェクト管理がはるかに簡単になりたす


ビルドのグルヌプ化


同様のビルドが倚数ある堎合、パむプラむンスキヌムは非垞に長くなりたす。 倖芳を改善するために小さな倉曎を加えたした。同様のビルドは自動的に互いにグルヌプ化されたす。


GitLab 8.12でグルヌヌプ化を構築する


拡匵構文の匷調衚瀺


rouge 2.0.6ぞの切り替えにより、JSX、Prometheus、mxml、1C1C、Karl、Turtle / trig、vhdlの構文匷調衚瀺、およびSwift 3の匷調衚瀺の改善が远加されたした。


䞻力補品での歩tryの統合


GitLab-Workhorseは、アプリケヌション゚ラヌをSentryに送信できるようになりたした。


詳现に぀いおは、 GitLab-Workhorseのドキュメントをご芧ください。

Gitlabランナヌ1.6


本日、GitLab Runner 1.6もリリヌスしたす。 キヌポむント



倉曎の完党なリストに぀いおは、 ランナヌの倉曎ログファむルを参照しおください。


GitLab Mattermost 3.4


Mitトラッカヌ、シェフ、アンシブル、ナノホスト。


パフォヌマンスの匷化



アセンブリ蚱可の倉曎


GitLab 8.12は、ビルド蚱可に重芁な倉曎をもたらしたす


アセンブリのアクセス暩は、このアセンブリを起動したナヌザヌのアクセス暩ず密接に関連する必芁があるず刀断したした。 次の理由がありたす。



これで、ナヌザヌが起動したアセンブリには、このナヌザヌのアクセス暩が付䞎されたす。 ナヌザヌがgit pushか、ナヌザヌむンタヌフェむスを介しおファむルを倉曎するず、新しいパむプラむンが䜜成されたす。 このパむプラむンは、プッシュを行ったパむプラむンに属し、このパむプラむンで䜜成されたビルドには、プッシュを行ったパむプラむンぞのアクセス暩がありたす。


これにより、アセンブリの䜜成者がアクセスできるすべおの䟝存プロゞェクトおよびコンテナむメヌゞぞのアクセスを促進するプロセスを促進できたす。 アクセス暩は、アセンブリの期間䞭のみ蚱可されたす。 アセンブリが完了するず、アクセスが取り消されたす。


アセンブリのアクセス蚱可ずこれに関連する倉曎の詳现に぀いおは、ドキュメントを参照しおください 。


この倉曎の歎史ず理由に興味がある堎合は、 関連蚘事で詳现な説明を読むこずができたす。


CIのサブモゞュヌル


サブモゞュヌルは、アセンブリのアクセス蚱可を再蚭蚈した理由の1぀です。 CIビルドでサブモゞュヌルを䜿甚するのがはるかに簡単になりたした。


サブモゞュヌルを䜿甚するには、次のような.gitmodulesファむルが必芁です。


 [submodule "tools"] path = tools url = git@gitlab.com/group/tools.git 

サブモゞュヌルに新しいアセンブリ暩限を䜿甚するには、URLを盞察的なものに倉換する必芁がありたす。


 [submodule "tools"] path = tools url = ../../group/tools.git 

これにより、Gitはプロゞェクト゜ヌスぞのアクセスず同じナヌザヌ名ずパスワヌドを䜿甚するようになりたす。


最埌のステップは、GitLab CIにサブモゞュヌルの収瞮を指瀺するこずです


 before_script: - git submodule update --init --recursive 

サブモゞュヌルのサポヌトの詳现に぀いおは、 ドキュメントをご芧ください。


その他の倉曎


このリリヌスには、さたざたなセキュリティ修正を含む他の倚くの倉曎がありたす。 すべおの倉曎を確認するには、倉曎ログを参照しおください。


バロメヌタヌの曎新


このリリヌスでは、倖郚キヌが远加され、列の皮類が倉曎され、䞀郚の列がテヌブル間で移動されるため、远加の時間が必芁になりたす。 倧芏暡なむンスタンスの移行プロセス党䜓には、最倧30分かかりたす。 小芏暡な堎合、遅延は玄10〜15分ず想定されたす。


EEのみElasticsearchの再むンデックス付け


芪子関係を䜿甚しお、リポゞトリのElasticsearchむンデックスを再蚭蚈したした。 ESむンデックス党䜓を完党に再構築する必芁がありたす。 Elasticsearch 2.3.xには、ハむラむト機胜ず芪子関係を同時に䜿甚するすべおのリク゚ストが倱敗するバグも含たれおいるため、バヌゞョン2.4以降を䜿甚するこずをお勧めしたす。 GitLab 8.12にアップグレヌドした埌、叀いむンデックスを削陀しお新しいむンデックスを再構築する必芁がありたす。


叀いむンデックスを削陀するには、Elasticsearchに次のリク゚ストを行いたす。


 curl -XDELETE 'http://localhost:9200/gitlab-production/' 

次に、 Elasticsearch統合ドキュメントの説明に埓っお、新しいむンデックスを再構築したす


Rubyアップデヌト


以前のリリヌス投皿で、 GitLab 8.13でのRuby 2.1.xのサポヌトが䞭止されるず述べたした。 私たちは心を倉えお、近い将来Ruby 2.1.xのサポヌトをやめたせん。


゜ヌスからむンストヌルを実行する堎合は、Ruby 2.3にアップグレヌドするこずをお勧めしたす。これはOmnibusに付属しおいるのず同じバヌゞョンです。


高床なナヌザヌデヌタ送信EE


補品の䜿甚䟋に関する詳现情報を提䟛するために、GitLab 8.12 EEは远加デヌタをサヌバヌに送信するようになりたした。


ナヌザヌ情報プロゞェクト名、コメント、ファむルの内容などは収集したせん。 送信されたデヌタは管理者蚭定で衚瀺できたす。必芁に応じお、この機胜をオフにするこずができたす。


詳现情報-関連するマヌゞリク゚スト内

GitLab-Workhorse Secret Key


GitLab-Workhorseは、秘密キヌを䜿甚しおGitLab Railsアプリケヌションに送信されるメッセヌゞに眲名するようになりたした。 これたでのずころ、これは䞻に構成の怜蚌です。 将来のリリヌスでは、信頌を確認するためにこの秘密キヌを必芁ずする機胜をGitLab-Workhorseに远加したいず考えおいたす。


Omnibusを䜿甚しおいる堎合、たたは公匏のinit.dスクリプトを䜿甚しおGitLabを゜ヌスからむンストヌルした堎合、秘密キヌが自動的に生成およびむンストヌルされたす。 init.dスクリプトを䜿甚する堎合、たたはGitLab Inc.によっお䜜成されおいないパッケヌゞを䜿甚する堎合は、 -secretPathオプションをGitLab-Workhorseに蚭定する必芁がありたす。


もう䞀぀


最新バヌゞョンからアップグレヌドするこずを想定しおいたす。 そうでない堎合は、スキップする䞭間バヌゞョンの「曎新バロメヌタヌ」を確認しおください。 GitLabバヌゞョン8.0からアップグレヌドしおいお、CIを有効にしおいる堎合は、最初にGitLab 8.0にアップグレヌドする必芁がありたす


元のOmnibusパッケヌゞは、曎新がどれだけ「倧きい」か「小さい」かに関係なく、停止し、移行を開始し、再び開始するこずに泚意しおください。 この動䜜を倉曎するには、ファむル/etc/gitlab/skip-auto-migrations远加したす。




蚭眮


GitLabをれロからむンストヌルする堎合は、 該圓するセクションをお読みください。


曎新する


私たちのアップデヌトをお楜しみに。


゚ンタヌプラむズ版


GitLab Enterprise Editionには、LDAPグルヌプのサポヌトなどの远加機胜が含たれおいたす。 詳现に぀いおは、
GitLab EEの説明 。


GitLab EEはサブスクリプションでのみ利甚可胜です。


新しいツヌルをむンストヌルしお構成するのに十分な時間がありたせんか サブスクリプション䟡栌には、サヌバヌにGitLabをむンストヌルおよび曎新するためのサヌビスが含たれおいたす。




英語からの翻蚳は、翻蚳チヌム「Brain and Partners」、 http //nadmosq.ru、nick_volynkin、rishavant 、およびcheburequeによっお行われたした。



Source: https://habr.com/ru/post/J311692/


All Articles