2016-08-19 6 views
1

我々はCIツールとしてジェンキンスを使用するために使用される、私はジェンキンスウィンドウスレーブでシェルスクリプトを実行することができ、手順は次のとおりです。Teamcity Windowsエージェントでシェルスクリプトを実行する方法は?

1.installのcygwinのジェンキンスで、Windowsのスレーブ

2.addステップ上のようにシェルスクリプト

3.add:

が、私はジェンキンス内の任意のシェルスクリプトを実行することができます最初の行に "エクスポートパスは、=/cygdriveの/ Cは/ dev /ツール/ cygwinの/ binに$ PATHに"。

チームシティーに移動する必要があり、上記の手順はチームシップでは機能しません。

"コマンドライン"を実行し、最初の行を "export PATH =/cygdrive/c/dev/tools/cygwin/bin:$ PATH"に設定すると、 "export"というエラーが表示されます内部または外部のコマンドとして認識されません "。

解決方法はありますか?私はシェルスクリプトをcmdに書き直したくありません。私の神

+1

)その後、サービスを再開しましたか? –

+0

ビルドがトリガーされたときにシェルスクリプトを実行したいですか?私は "TeamCityエージェント"と混同しています。 – Brandon

+0

@EvolveSoftwareLtdはいビルドエージェントにcygwinをインストールして既に再起動します – user3203342

答えて

2

これは非常に解決しやすいです。このエラーはもちろんCygwinからではなく、CMDからのものです。 exportコマンドは、Bashスクリプト内でのみ意味があります。 cmdは何をするのかわからない。

あなたがする必要があるのは、Cygwinのコマンドインタープリタ(bash)を使用してスクリプトを実行するようにCMDに指定するだけです。だから、どちらかだけの

C:\dev\tools\cygwin\bin\bash D:\myscript.sh 

のように、bash実行可能ファイルとスクリプトへの長いパスを指定することができるか、あなたは自分のマシンのPATH変数にcygwinのディレクトリへのパスを追加することができます。あなたは、システム設定を変更することで、これを行うと、そこにパスを追加します。または、上記のスクリプトの一部としてそれを行うことができますすることができます彼らは、サーバーに異なっている場合は、(ビルドエージェントマシン上でCygwinをインストールしました

# this is not necessary if you have already changed the System Variable to include the path 
set PATH=C:\dev\tools\cygwin\bin;%PATH% 

bash D:\myscript.sh 
関連する問題