2017-05-03 9 views
0

私はBitBucket.orgに複数のリポジトリを持っています。私はgit pullを私のプロダクションサーバ上で実行したいのですが、毎回私のローカルマシンでgit pushを実行します。私は最善の解決策を模索してきましたが、これにはさまざまな解決策がたくさんあるようです。自動配備のベストプラクティス

Webhooksと言う人もいますが、私にとっては少し安全ではないようです。もちろん、あいまいさでセキュリティを適用することもできますが、これが実動サーバーにとって十分安全かどうかはわかりません。

また、gitフックを設定して、他のリモートにプッシュすることもできます。しかし、私は常にプロダクション・サーバーだけでなく起源に向かって進めたいと思っています。

自動展開のベストプラクティスは、 プロダクションサーバーにSSHする必要がなく、何かを原点にプッシュするたびに変更が必要なのですか?

+2

Jenkins、TeamCityなどの継続的なビルド/統合システムを設定することを検討しましたか?正直言って、「プロダクションに直接触れる」というのは、「ビルドして出荷する」と酷く似ています。 –

+0

_ "ローカルマシンでgit pushを実行するたびにgit pullを実行したい" _ + _ "(..)私には少し不安があるようだが、いつもプロダクションサーバだけでなく、プロダクションサーバだけでなく、あなたの 'origin 'から' git pull'を行うプロダクションサーバに**スケジュールされたタスク**を設定するのはなぜですか?分?新しい投稿はありませんが、それは非常に迅速かつほとんど無操作になります。新しいものが投稿された場​​合は、それを押し出してから60秒以内にそれを得るでしょう。これは、プッシュ後に手で行うのと同じくらい安全です。 – quetzalcoatl

答えて

1

gitと一緒にCIツールを使うべきです - 純粋なgitフックで目標を達成できますが、私は強く反対します。 SemaphoreCIを使用して一般的なワークフローをセットアップする方法は次のとおりです。https://semaphoreci.com/docs/generic-deployment.html - 彼らはとても素敵で初心者に優しいドキュメンテーションを持っています。

プライベートレポジトリがある場合(私はあなたがbbを使用しているためだと思いますが)予算がある場合は、無料の層があるのでhttp://codeship.comまたはhttps://circleci.com/を使用できます。

bitbucketを残しておきたい場合は、https://gitlab.com/を使用して、無制限のビルドと無償で統合されたCIを使用してください。唯一の欠点はUIが少し複雑すぎるため、最初は混乱するかもしれないが、その機能セットはキラーだということです。

+0

ありがとうございました!あなたが言及したCIを見てみましょう。そしてはい、あなたは完全に正しいです。私はリポジトリを私的にする必要があります。私はまだGitlabを試していないが、Gitlabよりももっとポジティブなことを聞​​いているのでBitbucketを選んだ。しかし、私はGitlabにも行きます! – Rens

関連する問題