GitHub から (debian linux) サーバーに直接デプロイできますか? 各コミット後に GitHub からサーバーにコードを自動的に送信する方法はありますか? また、構成ファイルを操作しますか?
2 に答える
2
サーバーでリポジトリのクローンを作成し、サーバーで 1 分または 2 分ごと (またはコミットの頻度に応じて任意の間隔) に cronjob を実行し、リポジトリを更新します。それで十分なはずです。しかし、それは運用サーバーではお勧めできません。ただし、テストサーバーまたはステージングサーバーで実行できます。
于 2012-06-05T13:15:40.837 に答える
1
上記の Bibhas の回答は正しいですが、リポジトリで共同作業しているのがあなただけではない場合は、git タグを使用してリリース可能なコードを示し、新しいタグが表示されたときにのみ更新をトリガーすることを検討してください。
これを行うには、開発マシンで最新のコミットにタグを付けてプッシュします。
git tag -a v1.0 -m"Initial tag"
git push origin --tags
次に、サーバーで次のようにします。
git remote update && git checkout v1.0
次に、cron スクリプトは次のことを行う必要があります。
- Github から最新のものを取得します。
cd $REPO && git remote update
- 現在の参照を取得
HEAD
します (タグのみをチェックアウトしていると仮定します):current=$(git rev-parse HEAD)
- 最新のタグの参照を取得します。
latest=$(git rev-list --tags | head -1)
- 最後に、
$current
が と等しくない場合は$latest
、最新のタグをチェックしてください。git checkout $(git tag --points-at $latest)
于 2015-12-05T15:28:34.737 に答える