linux - 使用 VSTS Release 在 Linux VM 上解压文件

标签 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 不太熟悉,所以无法找出有效的语法。

有人可以建议一下吗?谢谢。

最佳答案

根据@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 文件已成功部署到虚拟机。

关于linux - 使用 VSTS Release 在 Linux VM 上解压文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49615158/

相关文章:

azure - Windows 计算机文件复制 - DevOps 任务和 IP 地址

linux - 如何将 DocumentRoot 更改为自定义文件夹

azure-devops - 如何从发布任务修改 Azure DevOps 发布定义变量?

node.js - 如何将一个永远启动的 nodejs 应用程序带到前台?

linux - 是否可以在不使用 kill 命令的情况下停止 xsp --nonstop 进程?

powershell - Azure DevOps发布管道-在括号内使用Powershell和管道变量

azure-devops - 将 Azure devops 发布管道(经典编辑器)输出变量传递给同一阶段的多个作业或外部的多个阶段

docker - 如何在 Azure Devops 发布定义中的 Dockerized Web 应用程序中设置环境变量

linux ftp mget 使用 ftp MULTI-FETCHING 或 cURL

Windows 上带有 Docker 的 Linux 内核与 WSL Linux 内核不匹配