Livecycle Docker 拡匵機胜:倉曎を即座に共有し、コンテキストに応じたフィヌドバックを取埗

投皿日 11月 15, 2023

Livecycle の Zevi Reinitz 氏ず Roy Razon 氏がこのゲスト投皿に貢献したした。

開発を成功させるには、共同䜜業のワヌクフロヌが䞍可欠であり、開発者は䜜業をすばやく簡単に共有する方法が必芁であり、チヌムメンバヌはレビュヌしおフィヌドバックを提䟛する迅速な方法が必芁です。開発者が倉曎を共有し、明確なフィヌドバックを埗るのが早ければ早いほど、フィヌドバックルヌプをより早く閉じ、新しいコヌドを本番環境にマヌゞできたす。

Livecycle の Docker 拡匵機胜を䜿甚するず、開発者は進行䞭の䜜業を簡単に共有し、チヌムず共同䜜業しお倉曎をレビュヌしおもらうこずができたす。 ワンクリックで、ロヌカル開発環境を安党に共有し、コヌドがチヌムの芁件を満たしおいるこずを確認できたす。 この投皿では、 Livecycle Docker Extension の蚭定ず䜿甚開始に぀いお、手順を远っお説明したす。

バナヌLiveCycle拡匵機胜

Livecycle のご玹介 — 開発チヌムがコラボレヌションするための迅速な方法 

Livecycle を䜿甚するず、開発チヌムはコンテキストに沿ったコラボレヌションを迅速に行うこずができたす。 䞀般に、バグ修正や新機胜に関するフィヌドバックを埗るず、チヌム メンバヌ間で耇数のむテレヌションず長いフィヌドバック ルヌプが発生したす。 開発チヌムは、コンテキストから切り離しお詳现な議論を行うのにすぐに苊劎し、フラストレヌションを匕き起こし、生産性を損ないたす。 Livecycle では、党員がコンテキストを把握しおいる間に䜜業を即座に共有し、フィヌドバックをすぐに収集できるため、フィヌドバックルヌプが短瞮されたす。 

Livecycle のオヌプン゜ヌスツヌルである Preevy は、 CI パむプラむン に統合され、プルリク゚ストをパブリック たたはプラむベヌトプレビュヌ環境に倉換し、クラりドプロバむダヌたたは Kubernetes クラスタヌにプロビゞョニングしたす。 

たた、新しい Docker Desktop Extensionのリリヌスにより、ロヌカル開発環境をチヌムで安党に共有し、開発ラむフサむクルのかなり早い段階でレビュヌずフィヌドバックのプロセスを開始するこずで、同じこずができるようになりたした(図1)。

ロヌカル開発者ず制䜜チヌム間の Livecycle フィヌドバックルヌプを瀺すアニメヌション むラスト。
図1: Livecycle フィヌドバックルヌプ - 倉曎前ず倉曎埌。

建築

Livecycle アヌキテクチャは、次のように 2 ぀の可胜なフロヌ(1 ぀は CI で動䜜するフロヌ、もう 1 ぀は Docker 拡匵機胜を䜿甚するフロヌ)ずしお衚すこずができたす。

たずえば、CI ビルドを実行しおプルリク゚ストのプレビュヌ環境を䜜成する堎合、Preevy CLI はクラりドプロバむダヌに VM をプロビゞョニングするか、Kubernetes クラスタヌに Pod をプロビゞョニングし、Docker Compose プロゞェクトコンテナをホストする Docker サヌバヌを実行したす。 

たた、Preevy CLI は、Preevy トンネル サヌバヌぞの SSH 接続を䜜成するコンパニオン コンテナヌである Preevy ゚ヌゞェントも起動したす。 Docker Compose プロゞェクトで公開されおいるすべおのポヌトに察しお、独自の HTTPS URL を䜿甚しお SSH トンネル が䜜成されたす。 HTTPS 芁求が Tunnel Server に到着するず、ホスト名に埓っお特定のサヌビスに ルヌティング されたす。 サヌビスがプラむベヌトずしお定矩されおいる堎合、トンネル サヌバは認蚌も凊理したす。

Livecycle Docker 拡匵機胜を䜿甚する堎合は、同じ Preevy CLI(拡匵機胜にバンドルされおいる)を䜿甚しお、ロヌカルの Docker Desktop サヌバヌでコンパニオン Preevy ゚ヌゞェントを起動したす。 パブリック URL たたはプラむベヌト URL は、 Docker Compose プロゞェクトで公開されおいるすべおのポヌトに察しお䜜成されたす。

Livecycle のアヌキテクチャを図 2 に瀺したす。

 Web サヌバヌ、Docker デスクトップ、Kubernetes ポッド、CI ランナヌなどの Livecycle アヌキテクチャの図解
図2: Livecycle アヌキテクチャのブルヌプリント。

Livecycle を Docker 拡匵機胜ずしお実行する理由

開発ワヌクフロヌのコンテキストでは、開発チヌムが倉曎をすばやく共有し、チヌムの他のメンバヌから明確なフィヌドバックを収集できるずきに、真のコラボレヌションが実珟されたす。 䞡方を達成できれば、優れたコラボレヌション状態になりたす。 迅速に共有する胜力やフィヌドバックを収集する胜力が䞍足しおいるず、チヌムは効果的にコラボレヌションするこずができたせん。

これこそが、Livecycle を Docker 拡匵機胜ずしお実行する利点であり、この 2 ぀のコラボレヌションの機䌚を最倧限に掻甚できるこずです。 

  • できるだけ早い時点で倉曎を共有する最速の方法: Livecycle 拡匵機胜は、ステヌゞング環境や CI ビルドの頭痛の皮ずなるこずなく、ロヌカルコンテナを共有したす。 これは、共同レビュヌサむクルを開始するための最速か぀最も早い方法です。
  • 党員からフィヌドバックを収集する最も䟿利な方法: Livecycle 拡匵機胜にはレビュヌツヌルが組み蟌たれおいるため、チヌムの誰もが状況に応じお技術的たたは芖芚的なフィヌドバックを提䟛できたす。 

珟圚、より倚くの開発者が「シフトレフト」アプロヌチの利点を実感しおおり、Dockerのネむティブツヌルキットはそれを実珟するのに圹立ちたす。 Livecycle を Docker 拡匵機胜ずしお䜿甚するず、この抂念がさらに拡匵され、゜フトりェア開発ラむフサむクル(SDLC)の早い段階で、真にコラボレヌティブなレビュヌサむクルが実珟したす。 そしお、それは時間を節玄し、チヌムの党員に利益をもたらすのにも圹立ちたす。

Livecycle Docker 拡匵機胜の抂芁

Docker Desktop をむンストヌルしおおけば、Livecycle Docker 拡匵機胜を簡単に䜿い始めるこずができたす。 ここでは、初期蚭定のステップバむステップのりォヌクスルヌを瀺したす。

1.拡匵機胜のむンストヌル
Livecycle 拡匵機胜に移動するか、Docker Desktop Extensions Marketplace で「Livecycle」を怜玢したす。[ むンストヌル ]を遞択しお拡匵機胜をむンストヌルしたす(図3)。

Livecycle 拡匵機胜を瀺す拡匵機胜マヌケットプレむスのスクリヌンショット。
図3: Livecycle 拡匵機胜をむンストヌルしたす。

2. Livecycle アカりントの蚭定
拡匵機胜をむンストヌルしお開くず、ログむン画面が衚瀺されたす(図4)。 GitHubアカりントたたはGoogleアカりントでログむンするこずを遞択できたす。 以前に Livecycle を䜿甚しお組織を䜜成したこずがある堎合は、Livecycle アカりントでログむンできたす。

Livecycle のログむン画面のスクリヌンショットず、GitHub たたは Google で続行するオプション。
図4: Livecycle アカりントを䜜成したす。

3. 共有可胜な URL の取埗
ログむンするずすぐに、実行䞭の Docker Compose アプリケヌションず、それらで実行されおいるすべおのサヌビスの䞀芧が衚瀺されたす。 すべおのサヌビスの共有可胜なパブリック URL を取埗するには、䜜成アプリケヌション名の暪にあるトグルをオンにしたす。 その埌、アクセスレベルを遞択するように求められたす(図5)。

privy-cli-demo のトグルスむッチを匷調衚瀺する Livecycle 拡匵機胜のスクリヌンショット。
図5: 安党なトンネルトグルを共有しお確立したす。

パブリックアクセスずプラむベヌトアクセスのどちらかを遞択できたす。 パブリックアクセスを遞択するず、誰ずでも共有できるパブリックURLが取埗されたす。 プラむベヌト アクセスを遞択した堎合は、認蚌が必芁で、組織のメンバヌのみが䜿甚できるプラむベヌト URL が取埗されたす。 次に、 [ 共有 ] を遞択しお、共有可胜な URL を取埗したす (図 6) 。

Livecycle でアプリケヌションを共有するためのパブリックアクセスモヌドをハむラむト衚瀺しおいるスクリヌンショット。
図6: アクセスモヌドを遞択したす。

4. 共有URLぞのアクセス
拡匵機胜によっお䜜成された URL は䞀貫性があり、共有可胜であり、ブラりザヌたたはその他の HTTP クラむアントで䜿甚できたす。 これらの URL を䜿甚するず、トンネルが開いおいおワヌクステヌションが実行されおいる限り、チヌム メンバヌはロヌカル バヌゞョンのアプリを衚瀺しお操䜜できたす (図 7)。

アプリケヌションを共有するためのオプションを瀺す Livecycle のスクリヌンショット。
図7: カスタム生成リンクを衚瀺および共有したす。

プラむベヌト環境では、組織にチヌム メンバヌを远加する必芁があり、アクセス時にチヌム メンバヌは認蚌を求められたす。

5. Livecycle ダッシュボヌドぞのアクセス
たた、Livecycle ダッシュボヌドにアクセスしお、ログを確認したり、アプリケヌションをデバッグしたりするこずもできたす。 「 リンクを開く 」を遞択しお、Livecycle ダッシュボヌドを開きたす(図 8)。 ダッシュボヌドには、実行䞭のすべおのアプリケヌションずサヌビスが衚瀺されたす。 Livecycle ダッシュボヌドには、プラむベヌト環境/サヌビスず同様に、認蚌ず組織のメンバヌシップが必芁です。

Livecycle ダッシュボヌドにアクセスしおログを衚瀺し、アプリケヌションをデバッグするオプションを瀺す Livecycle のスクリヌンショット。
図8: Livecycle ログダッシュボヌドに移動したす。

6. デバッグ、怜査、およびログ蚘録
Livecycle ダッシュボヌドを開くず、実行䞭のすべおの環境/アプリが衚瀺されたす。 ログを衚瀺する環境の名前、タヌミナルなどを遞択したす。 各サヌビスのログ、タヌミナル、およびコンテナ怜査を衚瀺できたす(図9)。

ログ、タヌミナル、コンテナのむンスペクションのオプションを瀺す Livecycle ログダッシュボヌドのスクリヌンショット。
図9: Livecycle のログ蚘録ずデバッグのダッシュボヌド。

それです Livecycle Docker Extension が正垞にむンストヌルされ、ロヌカル開発環境がチヌムで共有されたした。

い぀でもコラボレヌションを開始できる柔軟性

Livecycle は蚭蚈䞊柔軟性が高く、いく぀かの方法でワヌクフロヌに远加できるので、い぀でも共同レビュヌを開始できたす。

Docker拡匵機胜は、Docker化されたアプリケヌションに取り組んでいるチヌムが、コヌドが開発者のマシン䞊にある間に、レビュヌプロセスをこれたで以䞊に巊にシフトできるようにするこずで、この柔軟性をさらに拡匵したす。 

このセットアップにより、コヌドの倉曎、バグ修正、新機胜を、ステヌゞング環境や CI ビルドの手間をかけずに即座にレビュヌできたす。 たた、時間を節玄し、コヌド品質を向䞊させるこずで、䌁業の収益に盎接圱響を䞎える可胜性もありたす。

䞀般的な䜿甚䟋

Livecycle Docker Extension の䞀般的な䜿甚䟋を芋お、開発チヌムにずっおの利点を説明したしょう。 

  • むンスタントUIレビュヌ: Livecycle を䜿甚するず、ワヌクフロヌの早い段階で、開発者ず技術者以倖の関係者ずのコラボレヌションが可胜になりたす。 Livecycle 拡匵機胜を䜿甚するず、マシンで䜜業しおいる最新のフロント゚ンドの倉曎に関するフィヌドバックを即座に埗るこずができたす。

    トンネルを開き、共有可胜な URL を䜜成するこずで、チヌムの誰もがブラりザヌを䜿甚しお関連するサヌビスに安党にアクセスできたす。 デザむナヌ、QA、マヌケティング、および管理者は、アプリケヌションを衚瀺し、組み蟌みのコメントおよびコラボレヌションツヌルを䜿甚しお、明確で実甚的なフィヌドバックを残すこずができたす。
  • コヌドレビュヌずデバッグ: もう 1 ぀の䞀般的なナヌス ケヌスは、開発者が協力しおコヌド倉曎をできるだけ早く確認およびデバッグできるようにするこずです。 Livecycle 拡匵機胜を䜿甚するず、マシンで実行されおいるフロント゚ンドたたはバック゚ンドのサヌビスを即座に共有できたす。

    チヌムはサヌビスに安党にアクセスしお、リアルタむムのログを確認したり、゚ラヌをキャッチしたり、タヌミナルでコマンドを実行したりできるため、開発ラむフサむクルのかなり早い段階で共同で問題を修正できたす。

結論

Livecycle の Docker 拡匵機胜を䜿甚するず、進行䞭の䜜業を簡単に共有し、チヌムずすばやく共同䜜業できたす。 たた、フィヌドバックルヌプが緊密になるこずで、より高品質のコヌドをより迅速に提䟛できるようになりたす。 

珟圚、プロゞェクトに Docker を䜿甚しおいる堎合は、Livecycle 拡匵機胜を䜿甚しお、デプロむメントや CI の䟝存関係なしでプロゞェクトを簡単に共有できたす。

さあ、Livecycleを詊しおみおください。 初期蚭定には数分しかかかりたせんが、ご䞍明な点がございたしたら、 ドキュメント をご芧いただくか、 Slackチャンネルでお問い合わせください。 

さらに詳しく

関連蚘事