11月2024日更新: アップグレードされたDockerプランについて学び、最適なDockerサブスクリプションを選択してください。よりシンプルに、より価値を、より優れた開発と生産性を実現します。
Docker Desktop のリリース コレクションでは、最新の機能強化とイノベーションについてご紹介しています。
—
私たちは、この共同ブログでウフィッツィと協力できることを嬉しく思います。 DockerとUffizziは、互いに自然に補完し合う非常によく似たミッションを持っています。 Dockerは、アプリケーション開発の複雑さを軽減することでアイデアを実現するのに役立ち、Uffizziはクラウドアプリケーションホスティングの複雑さを軽減することでアイデアを実現するのに役立ちます。
このブログは、Docker Hubを介してGithubリポジトリから自動ビルドを設定し、Uffizziアプリのホスティング環境への継続的デプロイを有効にするためのステップバイステップガイドです。
前提 条件
このチュートリアルを完了するには、次のものが必要です。
- 無料のドッカーアカウント
- 無料のDockerアカウントにサインアップ して、無料の無制限のパブリックリポジトリを受け取ることができます
- ファイルの編集に使用する 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 ボタンをクリックします。
GitHub がすべてをアカウントにコピーしてくれるまで、しばらくお待ちください。 完了すると、サンプルリポジトリのフォークされたコピーに移動します。 GitHubリポジトリのフォークの詳細については、こちらをご覧ください。 https://guides.github.com/activities/forking/
もちろん、実際に変更を加えるには、新しいGitリポジトリをワークステーションに「クローン」する必要があります。 これは、ワークステーションが実行しているオペレーティングシステムによって少し異なりますが、Gitをインストールすると、通常は「git clone」が成功します。 リポジトリヘッダーの緑色の「コード」ボタンは、クローンを作成するURLを提供します。 GitHubのデスクトップアプリケーションを使用することもできます。 Git の詳細については、こちらを参照してください: https://guides.github.com/introduction/git-handbook/
コードとドッカーファイルを確認する
その中のいくつかのファイル、特に「Dockerfile」を確認して、実行可能なクローンがあることを確認します。 このファイルは、任意のアプリケーションの Docker イメージをビルドするために必要であり、後で新しいコンテナー イメージを自動的にビルドしてデプロイするために使用されます。 この例の「ドッカーファイル」は非常に単純です。アプリケーションには、より洗練された「Dockerfile」が必要な場合があります。 「ドッカーファイル」の構造の詳細については、こちらをご覧ください。 https://docs.docker.com/engine/reference/builder/
プライベートドッカーハブリポジトリの作成
次に、それらの構築されたイメージがウフィッツィがそれらを見つけることができる場所に存在する場所が必要です。 Docker Hub アカウントにログインし、[リポジトリ]、[リポジトリの作成] の順にクリックします。
後でウフィッツィに継続的デプロイするために、プライベートリポジトリ(パブリックではない)を作成してください。
そして今こそ、GitHub アカウントをリンクし、ビルドルールを追加して自動ビルドを設定する良い機会です。 GitHub ロゴをクリックし、Docker が GitHub リポジトリを表示することを承認します。 青いプラス記号をクリックして、「マスター」ブランチのビルドルールを作成します。
「Create & Build」をクリックすると、新しいリポジトリに移動し、「ビルド」タブを選択して動作を確認できます(下のスクリーンショットを参照)。 完了すると、アプリケーションをウフィッツィにデプロイする準備が整います。 GitHub アカウントと自動ビルドのリンクの詳細については、こちらをご覧ください。 https://docs.docker.com/docker-hub/builds/
ウフィッツィアプリのホスティング環境のセットアップ
https://uffizzi.com にアクセスして無料アカウントにサインアップしてください–クレジットカードは必要ありません。ダッシュボードから「今すぐ始める」を選択します。
次に、アプリの環境を選択します – このチュートリアルでは "無料" が適切です。
名前付けには、既定の名前を使用するか、必要に応じて "継続的デプロイのデモ" という名前を付けることができます。
「アプリケーションのインポート」ステップで、Docker Hubを選択し、Docker Hubアカウントにログインします。
Docker Hub で認証されたら、このデモ用に作成したリポジトリを選択します。 これは、後で Docker Hub が更新されたイメージをプッシュし、Uffizzi アプリホスティング環境への継続的デプロイプロセスを開始するリポジトリです。
リポジトリを選択したら、[マイ画像]で画像を選択します。 これで、コンテナーがリッスンするポート番号を指定できるようになります (このチュートリアルでは '80' になります)。
このデモでは、他のサービスやデータベースに接続していないため、環境変数は必要ありません。
次に、「インポート」を選択します。
(注-「無料」以外の環境を選択した場合は、データベースを追加するオプションがあります–「スキップ」を選択できます–このチュートリアルではデータベースは必要ありません。
これで、「hello-world」画像が表示されたショッピングカートが表示されます。 先に進み、「デプロイ」ボタンを押してください。 Uffizziは、Kubernetesリソースの割り当てからコンテナのスケジューリング、負荷分散されたネットワークの構成、環境の保護まで、約12のクラウドプロセスを自動化するのに数分かかります。 待っている間に「環境を探索する」ことができます。
これらの手順が完了すると、コンテナーが "実行中" と表示され、"継続的デプロイ" も有効になります。
先に進み、「アプリケーションを開く」をクリックして、アプリケーションが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]))にご参加ください。