でプロジェクトの構築されたバージョンを展開するための適切な方法は、現在、私の展開が見えているもの:次のようにCodeship
ローカルの変更をコミットした後、私はローカル
/dist
にプロジェクトを構築するためのうなり声のタスクを実行しますフォルダ。次に、それらをbitbucketにプッシュします。例えばブランチ名は、私はに機能/預金をマージブランチを開発し、Codeshipが枝を開発構築します(テストを実行)し、その後、次のコードが実行されるのBitbucketで
機能/預金です:
のssh [email protected] " cdプロジェクト/ www; git checkoutが発展する; git pull起源が発達する; npmインストール。 sudo monit restart project.app.js '
私はこのアプローチが嫌いです。なぜなら、コードシップが構築したものを展開するのはずっと意味があるからです。コードシップはnpm install
で実行され、私はgrunt:build
タスクを実行してからそれを私のプロダクションサーバーに展開したいと考えています。
同様の問題に対処し、エクスポートCI_COMMIT_ID = $(git rev-parse HEAD)タスクを追加したarticleが見つかりました。しかし、私は、私が自分の展開スクリプトでそれに必要なことを完全に理解していません。この例以外にもherokuで使用されていますが、私の場合はカスタム展開スクリプトを使用しています。
有用なとthis oneのgithubレポも私のニーズに合っているかもしれません。
しかし、私は、私は今それを行うのと同じ方法で構築されたバージョン(Codeshipが構築されたもの)から引くことができますが、 git pull origin develop
がCodeshipがちょうど
git pull
するかどう私が把握したいのです
gitリポジトリにもビルド済みのアプリを保存したいのはなぜですか?我々のユーザのほとんどは少し異なるアプローチに従っています: ローカルの変更をコミットし、リモートリポジトリ(GitHub/Bitbucket)にプッシュします。これはCodeshipのビルドをトリガーし、Codeshipはアプリケーションをビルドし(例えばgruntを介して)、テストを実行してから、例えば 'rsync'を介して、またはHerokuにプッシュすることによってアプリケーションをデプロイします。 – mlocher
@mlocher私のレポに/ distを保持したくありません。私は今はやっているが、このアプローチを避けたい。 rsyncを使用してカスタムスクリプトを使用してデプロイする方法に関する詳細情報を提供してください。ありがとう! – user2814599
@mlocher - gitを使わずにビルドされたサーバーをコピーすることをお勧めしますか? – user2814599