使用 VSTS Release 在 Linux VM 上解压文件
Using VSTS Release to Unzip FIles on Linux VM
我正在尝试使用 VSTS 将 zip 文件部署到 Azure 中的 Linux 虚拟机。我正在使用 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不太熟悉,我一直没能想出一个有效的语法。
有人可以指点一下吗?谢谢。
根据@JNevill 的评论,我再次尝试使用变量作为文件名。我还将 u 参数更改为 o 以自动覆盖文件。最终的命令语法是:
sudo unzip -jo "/home/$USER/release/$(filename)" "*.war" -d "/opt/tomee/webapps/"
当命令在远程虚拟机上执行时,它变成:
sudo unzip -jo "/home/$USER/release/deployfile-1.6.zip" "*.war" -d "/opt/tomee/webapps/"
war 个文件已成功部署到 VM。
我正在尝试使用 VSTS 将 zip 文件部署到 Azure 中的 Linux 虚拟机。我正在使用 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不太熟悉,我一直没能想出一个有效的语法。
有人可以指点一下吗?谢谢。
根据@JNevill 的评论,我再次尝试使用变量作为文件名。我还将 u 参数更改为 o 以自动覆盖文件。最终的命令语法是:
sudo unzip -jo "/home/$USER/release/$(filename)" "*.war" -d "/opt/tomee/webapps/"
当命令在远程虚拟机上执行时,它变成:
sudo unzip -jo "/home/$USER/release/deployfile-1.6.zip" "*.war" -d "/opt/tomee/webapps/"
war 个文件已成功部署到 VM。