SSH /ローカルコマンドを自動化する正しい方法は何ですか?

SSH /ローカルコマンドを自動化する正しい方法は何ですか?

Centos 5.5システムにはgitoliteがあります。リポジトリが更新されたら、新しいコマンドを受け取るには、バグ追跡デバイスにコマンドを送信する必要があります。これで、次のコマンドを使用できます。

ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod && exit'

しかし、これはちょっと汚れていると思います。この同期を実行するより良い方法はありますか?

答え1

Makefileに入れてください。

sync:
↹ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod && exit'

次に実行します。

$ make sync

これは実際にはタブ文字です。入力方法については、編集者のマニュアルを参照してください(ただしCtrlVTab機能することもあります)。

答え2

次のスクリプトを作成することもできます。予想されるしかし、おそらくそう簡単なことをするには複雑すぎるでしょう。私は過去にリモート電源スイッチを記録し、特定のポートを循環するためにそれを使用していたので、このアプリケーションにも使用できると確信しています。

答え3

以下は、bashシェルを使用すると仮定する2つの追加のソリューションです。 1 つ目は、操作を実行する関数を作成して ~/.bashrc ファイルに配置することです。

function bugsync() {
    ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod'
}

2番目はエイリアスを作成することです。

alias bugsync="ssh bugserver -f 'cd /etc/repos/gitrepo && git pull origin prod'"

コマンドの「&&終了」部分を指定する必要はありません。

答え4

オプションを検討した後、コマンドを修正(削除)し、&& exit単純化のためにそのままにすることにしました。

関連情報