Gitlab リポジトリから本番サーバーで実行されているライブ Web サイトに新しい作業を自動的にデプロイしたいと考えています。liveライブ Web サイトは、ブランチの GIT リポジトリ クローンです。
私の質問:
「ビルド」が発生するたびに、ランナーは私のレポを新たにクローンするように見え
~/builds/...ます. これは必須の動作ですか?私が本当に欲しいと思うのはgit pull、実稼働 Web サイトのディレクトリ内だけです。本当に毎回レポをクローンしなければならないのなら、なぜそうしないの
git resetですか? 少なくとも、時間の経過とともに帯域幅を大幅に節約できますよね?deploy.shリポジトリのルートにあるmy which を実行するにはどうすればよいですか? 現在、gitlab.com のビルド情報で次のエラーが表示されます。bash: line 23: deploy.sh: command not found
私の.gitlab-ci.ymlファイル:
deploy_to_production:
script:
- deploy.sh
only:
- live
tags:
- prod
詳細
deploy.shこれを行うには、レポの特定のブランチ (私の場合はブランチ) にプッシュするたびに、私が書いた単純なシェル スクリプト ( ) を本番サーバーで実行したいと考えていますlive。このシェル スクリプトは、私の.gitlab-ci.yml.
スクリプトは基本的にgit reset, fetchandpullを実行するだけで、本番バージョンをリポジトリの内容に合わせて最新の状態にします。
サーバーに「シェル」マルチランナーをインストールし、それを gitlab.com に接続しました。そこでアクティブになっていることがわかります。
全体として、私は間違ったツリーを吠えていますか? deploy.sh新しい作業の git チェックアウトを行わないように変更する必要がありますが、新しいコードを使用するcpか、おそらく新しいコードを本番 Web サイトrsyncに移動する必要がありますか?~/builds/...