shell 在bash Script中使用AzureDevOps管道的变量

ac1kyiln  于 2023-06-24  发布在  Shell
关注(0)|答案(1)|浏览(150)

我的问题很简单,我正在学习AzureDevOps。我有一个管道。在这个管道中,我有一个带有bash脚本的任务。此任务基本上是将文件添加到归档中。此存档格式:

I want it to be MyPackage_09192022_MyDeploymentComment.zip

为此,我在管道中创建了一个名为DeploymentComment的变量。当我从这个管道启动一个queque时,我填写DeploymentComment字段。我将这个bash脚本作为filepath添加到任务中,因此它给出了机器上文件的地址。我还将$DeploymentComment变量赋予此任务中的参数。
我的脚本如下

date="$(date +"%d%m%Y")"
  zipName="MyPackage_"$date"_"$1
  zip -r $zipname /home/admins/myDir/*

我正在等待$DeploymentComment变量的内容,我在Pipeline上作为参数提供给我在脚本中指定为$1的部分。换句话说,当我启动queque时,当我在$DeploymentComment部分中键入my 1stTry时,我希望得到在键入my 1stTry时创建的zip文件

I expect it to be MyPackage_09192022_my1stTry.zip but bash does not see this variable.
     I can create a zip file as MyPackage_09192022_.zip.

我错过了什么,你能帮我吗?

rwqw0loc

rwqw0loc1#

这将满足您的要求:

trigger:
- none

pool:
  vmImage: ubuntu-latest
variables:
- name: DeploymentComment #Define the variable
  value: MyDeploymentComment
steps:
- bash: |
    xxx="$(DeploymentComment)" #Use the pipeline variable
    date="$(date +"%d%m%Y")"
    zipName="$(System.DefaultWorkingDirectory)/MyPackage_"$date"_"$xxx
    echo $zipName
    zip -r $zipName.zip ./*
    ls

成功获取我这边的数值:

相关问题