bash - 有没有办法在Azure Pipeline中提取bash脚本的输出

标签 bash azure azure-pipelines

我有很多 bash 脚本,其中包含通过管道传输到各种脚本中的各种变量。

我一直想知道是否可以提取由 Azure Pipeline 激活的 bash 脚本的输出作为管道运行时其余部分的管道变量?

示例: foo=$(date + %Y%m%d_%H%M%S) 输出:20200219_143400,我想获取输出以供以后在管道上使用。

最佳答案

取决于您如何设计可以使用的管道 Azure Pipeline variables :

  1. 在同一个作业中:
- job: Job1
  steps:
  - bash: |
      $WORKDIR/foo.sh
      echo "##vso[task.setvariable variable=foo]$foo"
    name: FooStep
  - bash: |
      $WORKDIR/nextscript.sh $(FooStep.foo)
    name: NextScript

# ...
  • 不同的工作:
  • - job: Job1
      steps:
      - bash: |
          $WORKDIR/foo.sh
          echo "##vso[task.setvariable variable=foo;isOutput=true]$foo"
        name: FooStep
    - job: Job2
      dependsOn: Job1
      steps:
      - bash: |
          $WORKDIR/job2script.sh $[ dependencies.Job1.outputs['FooStep.foo'] ]
        name: Job2ScriptStep
    
    # ...
    

    因此,您需要使用 ##vso[task.setvariable] 将所有需要保存到输出的变量“打印到管道控制台”,然后将它们作为脚本参数值传递。

    关于bash - 有没有办法在Azure Pipeline中提取bash脚本的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60300578/

    相关文章:

    linux - BASH:定义变量中的变量?

    bash - 将 "forward"脚本参数传递给另一个命令的最简单方法

    azure - 在页脚中显示内部版本号,使用 azure devops 部署的应用程序

    python - 在azure webjobs中运行多个文件中的一个文件

    Azure DevOps管道如何设置vcvars64.bat然后从批处理文件调用msbuild.exe?

    azure - 在 Azure Pipeline 中找不到 SonarQube 的报告代码覆盖率

    python - 以 Python 方式执行 Bash 命令

    bash - bash 中的 zip 文件夹

    php - 微软 Azure 服务器 OpenSSL

    sql-server - "Allow access to Azure services"默认关闭ARM模板