使用VSTS版本在Linux VM上解压缩文件

时间:2018-04-02 16:41:53

标签: linux azure-pipelines-release-pipeline

我正在尝试使用VSTS将zip文件部署到Azure中的Linux VM。我正在使用SSH任务来运行命令:

sudo unzip -ju /home/$USER/release/deployfile-1.6.zip "*.war" -d "/opt/tomee/webapps/"

该命令有效。不过,我不想在每次更改时更改文件名。我尝试使用变量名称:

sudo unzip -ju /home/$USER/release/$filename "*.war" -d "/opt/tomee/webapps/"

我尝试使用通配符:

cd "/home/$USER/release/"
sudo unzip -ju '*.zip' "*.war" -d "/opt/tomee/webapps/"

(上面应该是star.zip和star.war)这些都没有用,并且对Linux知之甚少,我还没有找到有效的语法。

有人可以提出建议吗?谢谢。

1 个答案:

答案 0 :(得分:0)

根据@JNevill评论,我再次尝试使用变量作为文件名。我还将u参数更改为o以自动覆盖文件。最终的命令语法是:

sudo unzip -jo "/home/$USER/release/$(filename)" "*.war" -d "/opt/tomee/webapps/"

当在远程VM上执行命令时,它变为:

sudo unzip -jo "/home/$USER/release/deployfile-1.6.zip" "*.war" -d "/opt/tomee/webapps/"

war文件已成功部署到VM。