azkを使用してRailsアプリをデプロイする方法
### azkの記事
序章
azk は、アプリケーション環境の調整に使用できる軽量のオープンソースツールです。
ローカルワークステーションでアプリケーションを実行したことがありますが、実稼働サーバーにデプロイしたときにセットアップが完全に異なることがわかりましたか?
この記事では、現在これらのアプリケーションに実装されている、azkと呼ばれるオーケストレーションツールを紹介しますが、さらに多くのアプリケーションに適用できます。 azk対応アプリケーションをデプロイすると、最小限の手間でローカルおよびの本番環境で実行できます。
azkを使用すると、アプリケーションだけでなく、必要なOS、言語、フレームワーク、データベース、その他の依存関係(それ以外の場合は手間がかかり、反復的で、時間がかかり、エラーが発生しやすいタスク)を含む、すべての依存関係をすばやく簡単に実行できます。ローカル環境にいるのかサーバーにいるのか。
この記事の目的は、例として Stringer と呼ばれる単純なRailsアプリを使用して、azkがオーケストレーションツールとしてどのように機能するかを示すことです。
azkは、オーケストレーションを容易にするために、舞台裏で多くのステップを処理します。 したがって、このチュートリアルには、サンプルアプリをセットアップするために厳密に必要ではないが、azkが何をしているのかを説明するいくつかのオプションの手順が含まれています。
ローカルコンピューターのソースコードからアプリを実行し、サーバーにデプロイし、ローカルで変更を加え、変更をデプロイして、ロールバックをデモンストレーションします。
この記事を完了すると、azkが開発/デプロイメントワークフローのオーケストレーションツールとしてどのように機能するかを理解できるはずです。
使い方
まず、azkはローカルコンピューター上のアプリケーションの環境を調整します。 アプリケーションをローカルで実行すると、azkはDropletへのデプロイも自動化します。
azkは常にソースコードからアプリケーションを実行するため、(必要に応じて)アプリケーションをローカルでいじってから、特別な追加手順なしで、デプロイまたはロールバックすることもできます。
azkは、 container を使用して環境を分離するため、ローカルコンピューターでアプリケーションを安全に実行できます。 これは、最初から開始された新しいプロジェクトと既存のコードの両方で機能します。
カスタムアプリケーションでのazkの使用
例としてazkで動作するように事前構成されたアプリケーションの現在のリストを使用すると、いくつかの追加作業を使用して、azkで動作するように任意のプロジェクトを構成できます。
これを行うには、プロジェクトにAzkfileを追加します。
これは、アプリケーションの実行に必要な要素をリストし、それらの関係(OS、言語、データベースなど)を要約した単純なマニフェストファイルです。
プロジェクトにAzkfile
を追加する利点は次のとおりです。
- azkを使用して、ローカルとデプロイメントの両方でプロジェクトの環境セットアップを自動化します
- アプリをデプロイしたい他の人はazkでそれを行うことができます
Azkfile
の作成はこのチュートリアルの範囲を超えていますが、azkのドキュメントを確認して、 Azkfile の作成方法と、プロジェクトの実行GitHubボタンを追加する方法を学ぶことができます。あなたのコードに。
前提条件
このガイドに従うには、ローカル環境用にこれらのオペレーティングシステム(64ビット)のいずれかを実行しているローカルコンピューターが必要です。
- Mac OS X 10.6(Snow Leopard)以降
- Ubuntu 12.04、14.04または15.10
- Fedora21または22
また、git
をコミットできる必要があります。
- ローカルコンピューターにGitがインストールされている必要があります。 Linuxの手順については、 Git の使用に関するこのシリーズを参照するか、Gitダウンロードページにアクセスしてください。
- チュートリアルを開始する前に、推奨されるコマンド
git config --global user.email "[email protected]"
およびgit config --global user.name "Your Name"
を実行したことを確認してください。 Gitの詳細については、前のリンクを参照してください
このチュートリアルでは、アクティブなドロップレットを持つことは必須ではないことに注意してください。 azkは、DigitalOceanのAPIを使用して作成します。
ドロップレットの展開にはお金がかかります! このチュートリアルでは、デフォルトで1GBのドロップレットを1つデプロイします。
Linuxユーザー:Dockerのインストール
Linux(UbuntuまたはFedora)を使用している場合は、コンテナーソフトウェアとして Docker1.8.1以降をインストールする必要があります。
Dockerをインストールする1つの方法は、Dockerのインストールスクリプトを実行することです。 (一般に、スクリプトを実行する前に、スクリプトの動作を理解してください):
- wget -nv https://get.docker.com/ -O- -t 2 -T 10 | bash
LinuxへのDockerのインストールについて詳しく知りたい場合は、公式ドキュメントにある手順、またはDigitalOceanのDockerインストール記事を確認してください。
Mac OS Xユーザー:VirtualBoxのインストール
コンテナソフトウェアとしてVirtualBox4.3.6以降が必要です。
VirtualBoxをインストールするには、公式ダウンロードページから適切なVirtualboxインストールパッケージをダウンロードします。
ステップ1—azkをローカルにインストールする
プロジェクトのインストールスクリプトを使用してazkをインストールします。 システムでスクリプトを実行する前に、スクリプトの機能を理解してください。
古いバージョンのazkがすでにインストールされている場合は、そのインストールスクリプトを使用してazkを更新できます。
または、サポートされているオペレーティングシステムのパッケージのインストール手順を確認してください。
Linuxへのazkのインストール
Linux(UbuntuまたはFedora)を使用している場合は、ターミナルでこのコマンドを実行し、プロジェクトのスクリプトを使用してazkをインストールします。 システムでスクリプトを実行する前に、スクリプトを確認することをお勧めします。
- wget -nv http://azk.io/install.sh -O- -t 2 -T 10 | bash
インストールが完了したら、ログアウトしてから再度ログインし、すべての変更を有効にします。
ログアウトする必要がある理由は、インストールプロセス中に、ユーザーがdockerグループに追加されるためです。 これは、rootユーザーでなくてもDockerを使用できるようにするために必要な手順です。 これを有効にするには、現在のセッションを終了する必要があります。
Dockerグループについて詳しく知りたい場合は、Dockerの公式ドキュメントを確認してください。
MacOSXへのazkのインストール
ターミナルでこのコマンドを実行し、プロジェクトのスクリプトを使用してazkをインストールします。 システムでスクリプトを実行する前に、スクリプトを確認することをお勧めします。
- curl -sSL http://www.azk.io/install.sh | bash
ステップ2—azkのインストールを確認する
azkのインストールが完了したら、以下のコマンドを実行して、インストールプロセスが成功したかどうかを確認します。
- azk version
このコマンドは、インストールされているazkバージョンを確認します。 バージョン番号を返す場合(例: azk 0.17.0
以降)、準備が整いました。次のステップに進むことができます。
ローカル環境にazkをインストールしておめでとうございます!
そうでない場合は、以下のトラブルシューティングセクションのいずれかを読んでください。
Linuxのazkインストールのトラブルシューティング
次のコマンドを実行してインストールされているDockerのバージョンを確認しましょう。
- docker version
バージョン1.8.1以降が必要です。
ただし、エラーメッセージが表示された場合は、Dockerがまだインストールされていないことを意味します。 その場合は、DockerのドキュメントにあるOSの特定のインストール手順