私はWebサイトを開発しており、自分のラップトップを開発サーバーとして使用し、オンラインサーバーを本番サーバーとして使用しています。そして、私はgitを使用してプロジェクトを管理しています。
以前にherokuを使用したことがありますが、単純に使用してWebサイトを公開するのgit push heroku master
は本当にクールだと思うので、自分で作成する予定です。
これが私が行ったことです。本番サーバーでgitをセットアップし(アクセスを管理するためにgitosisを使用)、gitリポジトリでgit remote add git@production:myrepo.git
gitリポジトリのリモートを追加していました。
問題は、本番サーバーでコードを取得する方法です。本番サーバーはgitサーバーとして機能するため、実際のコードではなく.gitフォルダーしか取得できません。本番サーバーでデータのクローンを作成するためのトリックを考えましたgit clone --local myrepo.git myrepo
。myrepo.gitのhooks/フォルダーで、post-receive
次のようにファイルを編集しました。
#!/bin/sh
touch /tmp/do-we-got-here
cd /path/to/clone/myrepo
/usr/bin/git pull
を使用した後git push production master
、do-we-got-here
ファイルが作成されたので、受信後のフックが機能git pull
していることがわかりますが、myrepoフォルダーに移動して使用すると、パーツは機能しませんgit pull
。それでもmyrepo.gitからプルしています。
だから私はこれをどのように処理するのか疑問に思っていますか?herokuのようなホスティングサイトが機能しているので、これが可能であることを私は知っています!しかし、質問はどのようにですか?