私はこの問題を回避することができません。私はJenkinsの仕事からSSH上でsymlinkコマンドを実行します。私のJenkinsのパイプラインでは、私はこれらの2つのステップを(他のものの中でも)持っています。symlinkコマンドでワイルドカードを使用すると、Jenkinsから実行すると間違ったリンクが作成される
sh "ssh [email protected]${host} sudo ls -al /etc/nginx/sites-available"
sh "ssh [email protected]${host} sudo ln -sv /etc/nginx/sites-available/* /etc/nginx/sites-enabled/ -f"
は、ここでログの関連部分です:
シンボリックリンクが代わりmy-nginx-config
シンボリックリンクの私のリモートホスト上に作成され
[Pipeline] sh
[my_job] Running shell script
+ ssh [email protected] sudo ls -al /etc/nginx/sites-available
total 12
drwxr-xr-x 2 root root 4096 Sep 18 17:27 .
drwxr-xr-x 6 root root 4096 Aug 30 12:27 ..
-rw-r--r-- 1 ubuntu ubuntu 467 Sep 18 17:27 my-nginx-config
[Pipeline] sh
[my_job] Running shell script
+ ssh [email protected] sudo ln -sv /etc/nginx/sites-available/default /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/ -f
'/etc/nginx/sites-enabled/default' -> '/etc/nginx/sites-available/default'
'/etc/nginx/sites-enabled/jenkins' -> '/etc/nginx/sites-available/jenkins'
、/etc/nginx/sites-available
で私のジェンキンスのホスト上にあるdefault
とjenkins
ファイル( )はシンボリックリンクされています。
私は期待どおりに動作しますが、ワイルドカードを使用すると、これを実行しない場合:
sh "ssh [email protected]${host} sudo ls -al /etc/nginx/sites-available"
sh "ssh [email protected]${host} sudo ln -sv /etc/nginx/sites-available/my-nginx-conf /etc/nginx/sites-enabled/ -f"
おかげで、!私は今もリモートコマンド全体を引用してみました(自分の答えを見てください)。 – finspin