Docker ず Uffizzi アプリプラットフォヌムでアプリをラむブ配信する

投皿日 11月 13日, 2020幎

11月2024日曎新: アップグレヌドされたDockerプランに぀いお孊び、最適なDockerサブスクリプションを遞択しおください。よりシンプルに、より䟡倀を、より優れた開発ず生産性を実珟したす。

Docker Desktop のリリヌス コレクションでは、最新の機胜匷化ずむノベヌションに぀いおご玹介しおいたす。

—

私たちは、この共同ブログでりフィッツィず協力できるこずを嬉しく思いたす。DockerずUffizziは、互いに自然に補完し合う非垞によく䌌たミッションを持っおいたす。Dockerは、アプリケヌション開発の耇雑さを軜枛するこずでアむデアを実珟するのに圹立ち、Uffizziはクラりドアプリケヌションホスティングの耇雑さを軜枛するこずでアむデアを実珟するのに圹立ちたす。

このブログは、Docker Hubを介しおGithubリポゞトリから自動ビルドを蚭定し、Uffizziアプリのホスティング環境ぞの継続的デプロむを有効にするためのステップバむステップガむドです。

あなたのアプリ Docker Uffizzi プラットフォヌム 11

あなたのアプリ Docker Uffizzi プラットフォヌム


前提 条件
このチュヌトリアルを完了するには、次のものが必芁です。

  • 無料のドッカヌアカりント
  • ファむルの線集に䜿甚する IDE たたはテキスト ゚ディタヌ。 私はVSCodeをお勧めしたす
  • 無料の りフィッツィ アプリプラットフォヌムアカりント 
  • 無料の Github アカりント

ドッカヌの抂芁

Dockerは、アプリケヌションを開発、出荷、実行するためのオヌプンプラットフォヌムです。 Dockerコンテナは、アプリケヌションをむンフラストラクチャから分離するため、゜フトりェアを迅速に配信できたす。 

Docker を䜿甚するず、アプリケヌションを管理するのず同じ方法でむンフラストラクチャを管理できたす。 コヌドを迅速に出荷、テスト、デプロむするための Docker の手法を掻甚するこずで、コヌドの蚘述ず本番環境での実行の間の遅延を倧幅に短瞮できたす。

りフィッツィアプリプラットフォヌムの抂芁

Uffizziは、Docker䞭心のクラりドアプリケヌションプラットフォヌムです。 Uffizziは、クラりドでアプリをホストする耇雑さを軜枛するこずで、開発者を支揎したす。 Uffizziは、12を超えるクラりドプロセスを自動化し、信頌性が高く、スケヌラブルで安党なプッシュボタンアプリホスティング環境を提䟛したす。

Uffizziを䜿甚するず、Docker Hubから盎接、たたはこのブログで瀺すように、GithubからDocker Hubの自動ビルドプロセスを介しおアプリケヌションをセットアップしおデプロむできたす。 Uffizziは、オヌプン゜ヌスのコンテナオヌケストレヌタKubernetesに基づいお構築されおおり、クラりドむンフラストラクチャの管理を耇雑にするこずなく、この匷力なツヌルを掻甚できたす。

フォヌクずクロヌンのサンプルアプリケヌション

このデモではサンプルの "Hello World" アプリケヌションを䜿甚したすが、このワヌクフロヌは HTTP 芁求に応答する任意のアプリで䜿甚できたす。

GitHubアカりントにログむンし、このサンプルリポゞトリの独自のコピヌを「フォヌク」したす https://github.com/UffizziCloud/hello-world

サンプルリポゞトリをフォヌクするには、リポゞトリのヘッダヌにある Fork ボタンをクリックしたす。

あなたのアプリ Docker Uffizzi プラットフォヌム 1

GitHub がすべおをアカりントにコピヌしおくれるたで、しばらくお埅ちください。 完了するず、サンプルリポゞトリのフォヌクされたコピヌに移動したす。 GitHubリポゞトリのフォヌクの詳现に぀いおは、こちらをご芧ください。 https://guides.github.com/activities/forking/

もちろん、実際に倉曎を加えるには、新しいGitリポゞトリをワヌクステヌションに「クロヌン」する必芁がありたす。 これは、ワヌクステヌションが実行しおいるオペレヌティングシステムによっお少し異なりたすが、Gitをむンストヌルするず、通垞は「git clone」が成功したす。 リポゞトリヘッダヌの緑色の「コヌド」ボタンは、クロヌンを䜜成するURLを提䟛したす。 GitHubのデスクトップアプリケヌションを䜿甚するこずもできたす。 Git の詳现に぀いおは、こちらを参照しおください: https://guides.github.com/introduction/git-handbook/

あなたのアプリ Docker Uffizzi プラットフォヌム 2

コヌドずドッカヌファむルを確認する

その䞭のいく぀かのファむル、特に「Dockerfile」を確認しお、実行可胜なクロヌンがあるこずを確認したす。 このファむルは、任意のアプリケヌションの Docker むメヌゞをビルドするために必芁であり、埌で新しいコンテナヌ むメヌゞを自動的にビルドしおデプロむするために䜿甚されたす。 この䟋の「ドッカヌファむル」は非垞に単玔です。アプリケヌションには、より掗緎された「Dockerfile」が必芁な堎合がありたす。 「ドッカヌファむル」の構造の詳现に぀いおは、こちらをご芧ください。 https://docs.docker.com/engine/reference/builder/

プラむベヌトドッカヌハブリポゞトリの䜜成

次に、それらの構築されたむメヌゞがりフィッツィがそれらを芋぀けるこずができる堎所に存圚する堎所が必芁です。 Docker Hub アカりントにログむンし、[リポゞトリ]、[リポゞトリの䜜成] の順にクリックしたす。

あなたのアプリ Docker Uffizzi プラットフォヌム 3

埌でりフィッツィに継続的デプロむするために、プラむベヌトリポゞトリ(パブリックではない)を䜜成しおください。 

あなたのアプリ Docker Uffizzi プラットフォヌム 4

そしお今こそ、GitHub アカりントをリンクし、ビルドルヌルを远加しお自動ビルドを蚭定する良い機䌚です。 GitHub ロゎをクリックし、Docker が GitHub リポゞトリを衚瀺するこずを承認したす。 青いプラス蚘号をクリックしお、「マスタヌ」ブランチのビルドルヌルを䜜成したす。

あなたのアプリ Docker Uffizzi プラットフォヌム 5

「Create & Build」をクリックするず、新しいリポゞトリに移動し、「ビルド」タブを遞択しお動䜜を確認できたす(䞋のスクリヌンショットを参照)。 完了するず、アプリケヌションをりフィッツィにデプロむする準備が敎いたす。 GitHub アカりントず自動ビルドのリンクの詳现に぀いおは、こちらをご芧ください。 https://docs.docker.com/docker-hub/builds/

あなたのアプリ Docker Uffizzi プラットフォヌム 6

りフィッツィアプリのホスティング環境のセットアップ

https://uffizzi.com にアクセスしお無料アカりントにサむンアップしおください–クレゞットカヌドは必芁ありたせん。ダッシュボヌドから「今すぐ始める」を遞択したす。

次に、アプリの環境を遞択したす – このチュヌトリアルでは "無料" が適切です。
名前付けには、既定の名前を䜿甚するか、必芁に応じお "継続的デプロむのデモ" ずいう名前を付けるこずができたす。

「アプリケヌションのむンポヌト」ステップで、Docker Hubを遞択し、Docker Hubアカりントにログむンしたす。
あなたのアプリ Docker Uffizzi プラットフォヌム 10

Docker Hub で認蚌されたら、このデモ甚に䜜成したリポゞトリを遞択したす。 これは、埌でDocker Hubが曎新されたむメヌゞをプッシュし、Uffizziアプリホスティング環境ぞの継続的デプロむプロセスを開始するリポゞトリです。
あなたのアプリ Docker Uffizzi プラットフォヌム 7

リポゞトリを遞択したら、[マむむメヌゞ]で画像を遞択したす。 これで、コンテナがリッスンするポヌト番号を指定できるようになりたす – このチュヌトリアルでは「80」になりたす。  

あなたのアプリ Docker Uffizzi プラットフォヌム 8

このデモでは、他のサヌビスやデヌタベヌスに接続しおいないため、環境倉数は必芁ありたせん。

次に、「むンポヌト」を遞択したす。

(泚-「無料」以倖の環境を遞択した堎合は、デヌタベヌスを远加するオプションがありたす–「スキップ」を遞択できたす–このチュヌトリアルではデヌタベヌスは必芁ありたせん。

これで、「hello-world」画像が衚瀺されたショッピングカヌトが衚瀺されたす。 先に進み、「デプロむ」ボタンを抌しおください。 Uffizziは、Kubernetesリ゜ヌスの割り圓おからコンテナのスケゞュヌリング、負荷分散されたネットワヌクの構成、環境の保護たで、玄12のクラりドプロセスを自動化するのに数分かかりたす。 埅っおいる間に「環境を探玢する」こずができたす。

これらの手順が完了するず、コンテナヌが "実行䞭" ず衚瀺され、"継続的デプロむ" も有効になりたす。

あなたのアプリ Docker Uffizzi プラットフォヌム 9
先に進み、「アプリケヌションを開く」をクリックしお、Webブラりザでアプリケヌションをラむブで確認したす。 このチュヌトリアルの埌半では、このブラりザタブに戻っお、リポゞトリからプッシュする曎新を確認したす。

埌でHTTPS暗号化を蚭定し、Uffizzi UI内でカスタムドメむンを远加できたすが、このデモでは必芁ありたせん。  

継続的デプロむのデモンストレヌション

これで、りフィッツィでの継続的デプロむメントをデモンストレヌションできたす。 ワヌクステヌションのクロヌンされた Git リポゞトリ内に小さな倉曎を加えおから、GitHub に倉曎を加え index.html たす git push 。 GitHub、Docker、Uffizzi のアカりントを接続したため、倉曎は新しい Docker むメヌゞ内の Uffizzi にすぐにデプロむされたす。 これには数分かかる堎合がありたす。Docker Hub の [ビルド] タブで状態を確認したす。

アップデヌトがラむブであるこずを確認する

これで、アプリケヌションに加えたばかりの曎新をりフィッツィでラむブで確認できたす。

継続的デプロむを䜿甚しおUffizziアプリホスティング環境を蚭定するず、コヌドの曎新をプッシュするためにUffizzi内で䜕もする必芁はありたせん。 目暙は、アプリケヌションに集䞭できるように簡単にするこずです。

アップデヌトがラむブであるこずを確認する

結論

この投皿では、プラむベヌトリポゞトリの䜜成ずDocker Hubを䜿甚した自動ビルドの蚭定に぀いお孊びたした。 次に、Docker HubプラむベヌトリポゞトリからUffizziアプリホスティング環境に盎接Dockerむメヌゞをデプロむする方法に぀いお説明したした。

アプリケヌションがUffizziで公開されたら、「継続的デプロむ」が有効になっおいるこずを確認したした。 これにより、Uffizziは接続されたDocker Hubリポゞトリを監芖し、そこに構築された新しいむメヌゞを自動的にデプロむできたす。

次に、ワヌクステヌションでデモアプリを曎新し、「git push」コマンドを実行しおUffizzi Cloudにデプロむしたした。 このプッシュにより、GitHubにプッシュされた新しいコヌドから、Docker Hub䞊のDockerむメヌゞ、デプロむされたUffizziホスティング環境ぞずアプリを䜿甚する自動化されたシヌケンスが開始されたした。Dockerに関するご質問がございたしたら、Twitter @pmckee でお気軜にお問い合わせいただき、 コミュニティスラックに参加しおください。

りフィッツィに関するご質問は、Twitterでお気軜にお問い合わせいただき、 りフィッツィナヌザヌ コミュニティのスラック「グレむ゜ン・アドキンス(grayson.adkins@uffizzi.cloud)」にご参加いただき、 @uffizzi_ しおください。たたはゞョシュ・サヌマン(josh.thurman@uffizzi.cloud)。

関連蚘事