12

私はherokuとgitを使用してRubyonRailsのWebサイトを開発しています。

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

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

  • コードをリポジトリにチェックインします(推奨オプション、githubのようなホストされたgit)
  • テストは自動的に実行され、Webサイトはステージングherokuアプリにデプロイされます
  • テストに合格すると、Webサイトは私の本番Herokuアプリに自動的にデプロイされます
  • テストが失敗した場合は、なんとかして通知を受け取りたいです。

これをどのように行いますか?

4

6 に答える 6

5

CircleCiはまさにあなたが必要とするものを提供します。すべてのプッシュでテストを実行し、合格した場合はテストをデプロイし(Herokuに、またはCapistrano / Fabric /その他を使用して)、失敗した場合は通知を送信します。

于 2012-11-08T16:46:47.610 に答える
2

はじめに私は、まさにこれをサポートするサービスであるCodeship(https://codeship.io )の創設者の1人です。

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

ステージング/プロダクションを一度に

マスターまたは特定のデプロイブランチにプッシュするたびにテストを実行し、それらすべてが最初にステージングアプリにデプロイすることに合格した場合は、個別のテストを実行し(Seleniumまたはソースラボはそのために最適です)、移行を含めてうまくいく場合は、本番アプリにプッシュします。

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

個別のステップとしてのステージング/本番

それぞれのherokuアプリケーションにデプロイされる個別のステージング/本番ブランチを持つことができます。これには、より高速で、特定のパーツをいつリリースするかを制御できるという利点があります。特に、本番環境にデプロイする前に外部フィードバックが必要なアプリケーションの場合、これはうまく機能します。

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

于 2012-11-29T00:00:58.480 に答える
1

整合性を使用します。これは非常に単純なソリューションです。太陽の下ですべてを実行するわけではありませんが、セットアップは非常に簡単で、最も一般的なユースケース/機能を処理します。さらに多くのことをしたい場合は、ハッキングするのも非常に簡単です。

整合性の状態:

Herokuは、Integrityをデプロイするための最も簡単で最速の方法です。

でも:


HerokuではSSH経由でリポジトリにアクセスすることはできません

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

あなたがリストしたものの中で、自動デプロイはおそらくほとんどの人がCIサーバーに期待しないことです(そしてIntegrityは箱から出して提供しません)。git pushそのsshキーを使用し、適切な場所(チェックアウトされたリポジトリ)からを開始するようにgitを構成する必要があります。

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

于 2010-08-29T18:33:29.267 に答える
1

これを行う市場には多くのツールがあります。SnapCIは、すべてのコミットをテストにプッシュし、その後、デプロイメントパイプラインのさまざまなステージとしてステージングと本番環境にプッシュできるデプロイメントパイプラインを提供します。また、テストの並列化、ブランチの構築、プルリクエストも完全にサポートしています。

于 2015-02-25T18:22:59.237 に答える
0

さて、gitプラグインとスクリプトサポートを提供するHudsonがあります。残りは構成です、私は推測します。

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

于 2010-06-27T11:32:10.510 に答える
0

Heroku-Bartenderをお試しください。ここに記事があります。

于 2011-03-20T20:21:59.227 に答える