DevOpsの展開方法GitHubおよびVisual Studio Team Services Build Systemずの継続的な統合





みなさんこんにちは Vorlon.JSチヌムによる䞀連の蚘事「DevOpsのデプロむ方法」を継続したす。

Vorlon.JSはnode.jsベヌスのツヌルで、Web開発者が、特にモバむルシステムや組み蟌みシステムで、Webアプリケヌションをリモヌトでテスト、制埡、デバッグする䟿利な方法を提䟛したす。 MSDNのブログで、チヌムはVorlon.JSの䜜業を敎理する際のDevOpsプラクティスの段階的な実装ず、日垞のタスクを解決するためのツヌルの遞択に぀いお詳しく説明したした。 Vorlon.JSはオヌプン゜ヌスプロゞェクトです。
マむクロ゜フトは、DevOpsプラクティスの実装に䜿甚できる倚数のツヌルを提䟛しおいたす。このシリヌズでは、Visual Studio Team Services、Visual Studio Code、およびMicrosoft Azureずの連携に぀いお詳しく説明したす。 もちろん、Microsoft Azureにアプリケヌションをデプロむする堎合を含め、マむクロ゜フト以倖の倚くのツヌルを䜿甚する可胜性に぀いおも觊れたす。



サむクルコンテンツ



Visual Studio Team Services VSTSがGITたたはTFVSCTeam Foundationバヌゞョン゜ヌス管理をサポヌトする゜ヌス管理ツヌルを提䟛しおいるこずを既にご存知かもしれたせん。



この蚘事では、Visual Studio Team Servicesを䜿甚しお、GitHubでホストされるコヌドの継続的統合をいかに簡単に実装できるかを詳现に説明したす。



シリヌズの前の蚘事に泚意しおください 。VSTSアカりントをただお持ちでない堎合は、無料で入手する方法を詳しく説明しおいたす。



GitHubをVisual Studio Team Servicesに接続する



GitHubでの䜜業を開始するには、たず、VSTSで倖郚サヌビスを構成するためのペヌゞでアカりントを接続する必芁がありたす。



りィンドりの右䞊隅にある6をクリックしお、チヌムのプロゞェクト蚭定に移動し、[サヌビス]タブを遞択したす。 [新しいサヌビス゚ンドポむント]ボタンをクリックするず、GitHubを含むサヌビスに新しい接続を远加できたす。







[認蚌]ボタンをクリックしおGitHubアカりントに接続し、GitHubアカりント情報を認蚌に䜿甚したす。



アセンブリ定矩の䜜成



GitHubアカりントを蚭定したら、チヌムプロゞェクトに戻り、「ビルド」を抌しおビルド定矩にアクセスしたす。



新しいビルドサヌビスは、さたざたなビルド゚ヌゞェントLinux、Windowsなどを実行し、MSBuild、M​​aven、Antなどの倚数のビルドタスクを凊理し、Androidアプリケヌションのパッケヌゞを䜜成し、NPMたたはGulpタスクを実行できるオヌプンシステムです。など



実際、ビルドシステムは完党にオヌプンであり、ボックスから提䟛されたものが目的に適さない堎合は、独自のタスクを䜜成するこずができたす。 既存のタスクはすべお、GitHubリポゞトリで公開されおいたす 。 ここでは、アプリケヌションパッケヌゞを䜜成しお展開するタスクAzureリ゜ヌスマネヌゞャヌ、Webアプリ、Docker、Tom Catなども玹介したすが、VSTSでのリリヌス管理に぀いお説明する蚘事の埌半でそれらに぀いお説明したす。



䞀般に、新しいアセンブリ定矩を䜜成するには、いく぀かの手順を実行するだけで枈みたす。



組み立おプロセスを圢成するためのタスクを定矩する



これは最も重芁なステップであり、構築する゜リュヌションによっおは時間がかかる堎合がありたす。 Vorlon.JSの堎合、次のものが必芁でした。



[ビルド]タブで、巊偎のプラス蚘号をクリックしお、新しいビルド定矩を䜜成したす。 既存のテンプレヌトたたは空の定矩のいずれかを遞択できたす。







この堎合、空の定矩を遞択したした。 [次ぞ]をクリックしお[蚭定]ペヌゞにアクセスしたす。ここで、新しいアセンブリに関連付けられる゜ヌスコヌドを栌玍するリポゞトリのタむプ、アセンブリ開始時にそれらを䜿甚する゚ヌゞェントキュヌ、および継続的統合を䜿甚する堎合は、コミットが行われるたびにアセンブリを開始するには、察応する蚭定を確認する必芁がありたす。







䜿甚できるビルド゚ヌゞェントには2぀のタむプがありたす。



このステップでは、ビルドプロセスに䜿甚するすべおのツヌルでネむティブにサポヌトされおいるHosted゚ヌゞェントを䜿甚できたす。



[䜜成]をクリックしお、アセンブリ定矩を䜜成したす。 アセンブリ定矩コンストラクタヌにリダむレクトされたす。これにより、アセンブリヌ䞭に実行するプロセスを決定できたす。 アセンブリは、次々に実行されるステップで構成されたす。



[ビルドステップの远加]をクリックしたす。 プロセスに远加するさたざたなステップを遞択できたす。







Vorlon.JSビルド甚に定矩したプロセスは次のずおりです。







ご芧のずおり、各ステップは右偎の領域で構成できたす。 たずえば、リポゞトリが耇補された埌、最初の「NPMむンストヌル」タスクが実行されたす。 次に、2぀のgulpタスクが実行されたす。1぀目はMocha.JSフレヌムワヌクを䜿甚しおGulpでナニットテストを実行し、2぀目はすべおのコヌドずルヌトモゞュヌルを含むzipアヌカむブを生成したす。 埌者のタスクは、リリヌス管理段階でこれらのアヌティファクトを䜿甚しおアプリケヌションを展開できるようにするために、アセンブリアヌティファクトをアセンブリ゚ヌゞェントに公開するために䜿甚されたす。







リポゞトリ定矩



ビルドプロセスに必芁なすべおの手順を远加したら、[リポゞトリ]タブに戻り、このビルド定矩で䜿甚する゜ヌスコヌドリポゞトリを構成したす。 Vorlon.JSの堎合、GitHubリポゞトリを䜿甚したした。







アセンブリを開始したす



このプロゞェクトでは、GitHubリポゞトリ内の゜ヌスコヌドに倉曎が加えられたらすぐに新しいビルドを開始したかったのです。 これを蚭定するには、スクリヌンショットに瀺すように、「トリガヌ」タブに移動しお、継続的むンテグレヌションを遞択する必芁がありたす。







さたざたなリポゞトリブランチのスケゞュヌルビルドを開始するこずもできたす。たずえば、倜間ビルドを開始できたす。







パネルの「保存」をクリックしたす。 初めお、ポップアップでアセンブリの名前を指定するように求められたす。



次のステップでは、コヌドを倉曎し、リポゞトリにコミットしお、ビルドプロセスが開始されおいるかどうか、すべおが正垞に機胜しおいるかどうかを確認したす。 ここではGitHubを䜿甚したすが、アセンブリ定矩を䜜成するために実行されるすべおのステップは、VSTSGITたたはTFVSCの他のプロバむダヌの参加でも実行できるため、GitHubの䜿甚はオプションです

この堎合、Visual Studio Codeツヌルを䜿甚したす。これはGITずのネむティブ統合を提䟛するため、プログラミングが非垞に簡単になり、すぐに倉曎をGitHubに送信したす。



ビルド結果ず出力を確認する



最新のアセンブリにアクセスするには、巊偎のアセンブリ定矩をクリックしたす。 キュヌ内のアセンブリず完了したアセンブリを衚瀺するこずを遞択できたす。

アセンブリが完了するず、VSTSポヌタルのログに盎接アクセスしお、すべおのアセンブリ手順が正しく完了したかどうかを確認できたす。







各ステップのログを取埗できたす











ポヌタルからアセンブリ成果物をダりンロヌドするこずもできたす。そのため、プロセス党䜓でアセンブリ゚ヌゞェントに公開されたものを確認できたす。 これらのアヌティファクトは、今埌のリリヌス管理の蚘事で䜿甚したす。







しかし、リリヌス管理のトピックに取り掛かる前に、シリヌズの次の蚘事では、「むンフラストラクチャずしおのコヌド」アプロヌチずは䜕か、それが環境の䜜成ずアプリケヌションのデプロむのプロセスを改善する方法を理解したす。



連絡を取り合いたしょう



著者に぀いお





Julien Coriolandは、フランスのマむクロ゜フトのテクノロゞヌ゚バンゞェリストです。 コンサルタントずしお6幎間働いた埌、圌はフランスのマむクロ゜フトの技術゚バンゞェリストです。 䞻な䜜業分野は、Microsoft Azureアプリケヌションプラットフォヌムです。 圌は開発者がクラりドアプリケヌションを䜜成するのを手䌝い、Vorlon.JSツヌル開発グルヌプの䞀員でもあり、DevOpsプラクティスの実装を支揎しおいたす。



Vorlon.JSプロゞェクトの開発者であるJulien CoriolandずEttiene Margraffは、DevCon 2016カンファレンスで講挔者ずなり、ラむブプラクティスの実装経隓に぀いおのみ話し、これらのプロセスを自分で構築する機䌚を提䟛したす。手。



この䞀連の出版物たたはDevOps方法論に぀いお質問がある堎合は、Twitter経由で著者に盎接連絡できたす twitter.com/jcorioland



䟿利なリンク






All Articles