我正在使用azure devops为nodejs应用程序创建CI和CD管道。
我使用azure发布管道将构建代码部署到azure linux vm,在这里我配置了部署组作业。
在部署组中,我使用了提取文件任务来解压缩构建文件。
解压缩可以正常工作,我的代码也可以在以下路径中部署:InstancePerOwnedImplementing<TInterface>();
之后,我想使用azure发布管道运行$(System.DefaultWorkingDirectory)/LearnCab-Manage(V1.5)-CI (1)/coreservices/ *.zip
命令,为此任务,我需要对部署组作业进行重击并编写命令
pm2
但是未执行bash它将给出退出代码 cd $(System.DefaultWorkingDirectory)/LearnCab-Manage(V1.5)-CI (1)/coreservices/*.zip
cd coreservices
pm2 start server.js
。
答案 0 :(得分:1)
它将给出退出代码2
此参数引起的错误是在第一行的命令中使用括号(
。通常,括号用作组。无法在命令行中将其编译为普通字符。
要解决此问题,您需要使用\
将括号作为普通字符转移:
cd $(System.DefaultWorkingDirectory)/LearnCab-Manage\(V1.5\)-CI \(1\)/coreservices/*.zip
现在,\(V1.5\)
和\(1\)
可以正常翻译为(V1.5)
和(1)
。
而且,您可以在路径周围使用单引号或双引号:
cd "$(System.DefaultWorkingDirectory)/LearnCab-Manage(V1.5)-CI (1)/coreservices/*.zip"
或
cd '$(System.DefaultWorkingDirectory)/LearnCab-Manage(V1.5)-CI (1)/coreservices/*.zip'