2

チームに非常に単純な自動展開システムを実装しようとしています。

私たちのコードは SVN リポジトリにありますが、heroku を使用してアプリケーションをデプロイします (GIT を使用)

現在、私はローカルで次のことを行っています。

    svn update
    git add .
    git commit -m "foo"
    git push heroku master

しかし、このプロセスを自動化して、チームの誰かが新しいコードをコミットすると、自動的に heroku にプッシュされ、開発サイトで表示できるようにしたいと考えています。

これを行う簡単な方法はありますか?EC2 インスタンスをセットアップし、コミット後に (フック スクリプトを使用して) ssh 接続し、上記のコマンドを実行しますか? しかし、この解決策は複雑すぎるようです..

4

2 に答える 2

1

はい、複雑すぎるようです。代わりに、gitへの最終的な動きをお勧めします。

そのような場合、(少なくともこのプロジェクトでは) 気にする VCS は 1 つだけで、他の有用なシナリオを作成することができます。

すなわち。すべての変更を Heroku にプッシュする (そしてそれをトランスポート レイヤーとして使用する) のは良い考えではありません。進行中の作業を分割するために、チーム メイトに何かをプッシュする必要がある場合があります。そのような状態を Heroku に送信すると、アプリケーションがクラッシュします。したがって、1 つの (別の) 共有リポジトリ ( origin) を用意し、そこにすべてをプッシュする方が簡単です。いくつかの重要な部分が完成し、すべてのチーム メンバーによって確認された場合にのみ、2 行のコード (またはシェル スクリプト) で取得できます。最新の状態にして Heroku にプッシュします。

現在、共有 git リポジトリを作成するのは簡単な作業です。SSH アクセスが可能なホスト アカウントをお持ちの場合は、gitoliteを使用して作成できます。リポジトリとユーザーのインストールと管理は簡単です。そして、それはかなり無料です。

他の可能性としては、GitHubAssamblaなどの git プロバイダーを使用することです。おそらく、小さなプロジェクトをホストするための無料/安価なプランを見つけることができます。

于 2012-09-16T11:37:47.680 に答える
1

たぶん、SVN post-commit hookを確認する必要があります。SVN サーバー リポジトリで、チームの各コミット後に実行できるシェル スクリプトを追加できpost-commitます。PATH_TO_REPO/hooks/

このスクリプトには、heroku にプッシュする git コマンドが含まれている必要があります。

于 2012-09-16T12:34:36.357 に答える