Docker と Uffizzi アプリプラットフォームでアプリをライブ配信する

November 2024 update: Learn about the upgraded Docker plans and choose the best Docker Subscription for you. Simpler, more value, better development and productivity.

Read our Docker Desktop release collection to learn about our latest enhancements and innovations.



We’re excited to be working with Uffizzi on this joint blog.  Docker and Uffizzi have very similar missions that naturally complement one another.  Docker helps you bring your ideas to life by reducing the complexity of application development and Uffizzi helps you bring your ideas to life by reducing the complexity of cloud application hosting. 

This blog is a step-by-step guide to setting up automated builds from your Github repo via Docker Hub and enabling Continuous Deployment to your Uffizzi app hosting environment.

あなたのアプリドッカーウフィッツィプラットフォーム11

あなたのアプリドッカーウフィッツィプラットフォーム




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

ドッカーの概要

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 ボタンをクリックします。

あなたのアプリドッカーウフィッツィプラットフォーム1

GitHub がすべてをアカウントにコピーしてくれるまで、しばらくお待ちください。 完了すると、サンプルリポジトリのフォークされたコピーに移動します。 GitHubリポジトリのフォークの詳細については、こちらをご覧ください。 https://guides.github.com/activities/forking/

もちろん、実際に変更を加えるには、新しいGitリポジトリをワークステーションに「クローン」する必要があります。 これは、ワークステーションが実行しているオペレーティングシステムによって少し異なりますが、Gitをインストールすると、通常は「git clone」が成功します。 リポジトリヘッダーの緑色の「コード」ボタンは、クローンを作成するURLを提供します。 GitHubのデスクトップアプリケーションを使用することもできます。 Git の詳細については、こちらを参照してください: https://guides.github.com/introduction/git-handbook/

あなたのアプリドッカーウフィッツィプラットフォーム2

コードとドッカーファイルを確認する

その中のいくつかのファイル、特に「Dockerfile」を確認して、実行可能なクローンがあることを確認します。 このファイルは、任意のアプリケーションの Docker イメージをビルドするために必要であり、後で新しいコンテナー イメージを自動的にビルドしてデプロイするために使用されます。 この例の「ドッカーファイル」は非常に単純です。アプリケーションには、より洗練された「Dockerfile」が必要な場合があります。 「ドッカーファイル」の構造の詳細については、こちらをご覧ください。 https://docs.docker.com/engine/reference/builder/

プライベートドッカーハブリポジトリの作成

次に、それらの構築されたイメージがウフィッツィがそれらを見つけることができる場所に存在する場所が必要です。 Docker Hub アカウントにログインし、[リポジトリ]、[リポジトリの作成] の順にクリックします。

あなたのアプリドッカーウフィッツィプラットフォーム3

後でウフィッツィに継続的デプロイするために、プライベートリポジトリ(パブリックではない)を作成してください。 

あなたのアプリドッカーウフィッツィプラットフォーム4

そして今こそ、GitHub アカウントをリンクし、ビルドルールを追加して自動ビルドを設定する良い機会です。 GitHub ロゴをクリックし、Docker が GitHub リポジトリを表示することを承認します。 青いプラス記号をクリックして、「マスター」ブランチのビルドルールを作成します。

あなたのアプリドッカーウフィッツィプラットフォーム5

「Create & Build」をクリックすると、新しいリポジトリに移動し、「ビルド」タブを選択して動作を確認できます(下のスクリーンショットを参照)。 完了すると、アプリケーションをウフィッツィにデプロイする準備が整います。 GitHub アカウントと自動ビルドのリンクの詳細については、こちらをご覧ください。 https://docs.docker.com/docker-hub/builds/

あなたのアプリドッカーウフィッツィプラットフォーム6

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

https://uffizzi.com にアクセスして無料アカウントにサインアップしてください–クレジットカードは必要ありません。ダッシュボードから「今すぐ始める」を選択します。

次に、アプリの環境を選択します – このチュートリアルでは "無料" が適切です。
名前付けには、既定の名前を使用するか、必要に応じて "継続的デプロイのデモ" という名前を付けることができます。

「アプリケーションのインポート」ステップで、Docker Hubを選択し、Docker Hubアカウントにログインします。
あなたのアプリドッカーウフィッツィプラットフォーム10

Docker Hub で認証されたら、このデモ用に作成したリポジトリを選択します。 これは、後で Docker Hub が更新されたイメージをプッシュし、Uffizzi アプリホスティング環境への継続的デプロイプロセスを開始するリポジトリです。 
あなたのアプリドッカーウフィッツィプラットフォーム7



リポジトリを選択したら、[マイ画像]で画像を選択します。 これで、コンテナーがリッスンするポート番号を指定できるようになります (このチュートリアルでは '80' になります)。  

あなたのアプリドッカーウフィッツィプラットフォーム8



このデモでは、他のサービスやデータベースに接続していないため、環境変数は必要ありません。

次に、「インポート」を選択します。

(注-「無料」以外の環境を選択した場合は、データベースを追加するオプションがあります–「スキップ」を選択できます–このチュートリアルではデータベースは必要ありません。

これで、「hello-world」画像が表示されたショッピングカートが表示されます。 先に進み、「デプロイ」ボタンを押してください。 Uffizziは、Kubernetesリソースの割り当てからコンテナのスケジューリング、負荷分散されたネットワークの構成、環境の保護まで、約12のクラウドプロセスを自動化するのに数分かかります。 待っている間に「環境を探索する」ことができます。

これらの手順が完了すると、コンテナーが "実行中" と表示され、"継続的デプロイ" も有効になります。

あなたのアプリドッカーウフィッツィプラットフォーム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で@uffizzi_お気軽にお問い合わせいただき、ウフィッツィユーザーコミュニティスラック(Grayson Adkins([email protected])またはJosh Thurman([email protected]))にご参加ください