質問

HerokuとGitを使用してRuby on Rails Webサイトを開発しています。

次の簡単な開発プロセスを設定するためにどのようなツールと機能を使用する必要がありますか?

コード>チェックイン>自動テスト>自動展開

  • 私は自分のコードをリポジトリにチェックします(希望のオプション、Githubのようなホストgit)
  • テストは自動的に実行され、Webサイトが私のステージングHerokuアプリに展開されます
  • テストが合格した場合、Webサイトは私の制作Herokuアプリに自動的に展開されます
  • テストが失敗した場合は、どういうわけか通知されたいと思います。

これをどうやってやるの?

役に立ちましたか?

解決

を使用しております 威厳. 。これは非常に簡単な解決策です - 太陽の下ですべてを行うわけではありませんが、最も一般的なユースケース/機能をセットアップして処理するのは非常に簡単です。また、もっとやりたいと思うなら、ハッキングするのも非常に簡単です。

整合性の状態:

Herokuは、整合性を展開する最も簡単で最速の方法です。

でも:

ノート
HerokuでSSHを介してリポジトリにアクセスすることはできません

これは、IntegrityアプリにSSHキーが必要になるためです。それは不可能ではありませんが、間違いなくジャンプするためのいくつかのフープです。整合性を秘密鍵にしてアプリに入れてから、整合性をハックして、そのSSHキーを開始するときに使用する必要があります。 git clone.

あなたがリストしたものの、自動展開はおそらく、ほとんどの人が自分のCIサーバーが行うことを期待していないことです(そして、整合性は箱から出して提供されません)。そのSSHキーを使用して、 git push 適切な場所(チェックアウトリポジトリ)から。

残念ながら、これを行う方法の詳細はわかりません。実際にVPSに整合性を実行しています。

他のヒント

Circleci 必要なものを正確に提供します。すべてのプッシュでテストを実行し、渡す場合はそれらを展開します(Herokuに、またはCapistrano/Fabric/Anythingを実際に使用してください)。失敗した場合は通知を送信します。

序文はコードシップの創設者の一人です(https://codeship.io)、これはまさにこれをサポートするサービスです。

しかし、トピックについては、基本的には、これを実装できると思われる2つの異なる方法があります(私が使用するすべてのブランチ名は任意であり、まったく異なる名前を付けられることに留意してください):

一度にステージング/制作

マスターまたは特定の展開ブランチにプッシュするたびに、テストを実行し、すべてがステージングアプリに展開する場合は、個別のテスト(セレンまたはソースラボはそれに最適です)を実行し、移行を含めてうまくいけば制作アプリにプッシュします。

最新バージョンは常に生産で利用できるため、これは素晴らしいことであり、このサイクルを長い間使用しています。私たちにとってはうまくいきます。欠点は、ステージングヘロクアプリにプッシュするには時間がかかることです。生産データのコピーに対して移行を実行したい場合は、さらに時間がかかります。それは永遠ではありませんが、数分かかります。

別々のステップとしてのステージング/制作

それぞれのHerokuアプリケーションに展開されている別々のステージング/制作ブランチを持つことができます。これにはより速くなるという利点があり、特定の部品をいつ解放するかを制御できます。特に、生産に展開する前に外部フィードバックが必要なアプリケーションでは、これはうまく機能します。

私たちはRailsonfireでそのすべてをサポートしていますが、現在、より良いサービスの新しいバージョンに取り組んでいます。私たちはHerokuと本当にうまく統合しているので、あなたはそれについて考える必要はありません(ただし、あなたが望む方法で自分でそれを行うオプションがあります)

市場にはこれを行う多くのツールがあります。 snapci 申し出 展開パイプライン これにより、テストを通じてすべてのコミットをプッシュし、その後、展開パイプラインのさまざまな段階としてステージングと生産にその後プッシュできます。また、テストの並列化、構築ブランチ、プルレクエストを完全にサポートしています。

さて、Gitプラグインとスクリプトサポートを提供するハドソンがあります。残りは構成だと思います。

ハドソン: http://hudson.dev.java.net

試す Heroku-Bartender. 。記事 ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top