0

我对这个管道及其工作流程有疑问。我试图实现的想法是在我的天蓝色管道中声明一组变量,并且在运行时,我想在将这些变量名称推送到天蓝色 blob 存储之前将这些变量名称放入特定文件中。

到目前为止,这就是我的管道的样子:

variables:
  - name: <email_1>
    value: <value1>

  - name: <email_2>
    value: <value2>

  - name: deployment_url
    value: <deployment>

  - name: storageaccount
    value: <my_storage_Account>

我将我的 2 个作业设置为使用变量播种和更新文件内容

jobs:
- job: Seeding
  steps:
  - bash: |
     # Write your commands here
     email_2=${{ variables.email2 }}
     email_placeholder="{{value_to_change}}"
     url_placeholder="{{DEPLOYMENT_URL}}"
     echo "URL: "$DEPLOYMENT_URL
     echo "EMAIL:" ${{ variables.email2 }}

     sed -i "s|$email_placeholder|$email_2|g" ReportPhishingOutlookAddInWeb/Functions/FunctionFile.js

     sed -i "s|$url_placeholder|$DEPLOYMENT_URL|g" ReportPhishingOutlookAddIn.xml
    workingDirectory: Folder

我期望看到的是,我的 Function.js 中的值(其中包含一行“{{value_to_change}}”随着“email_2”的值而改变,对于deployment_url

在此之后,我有另一项工作将这个文件夹推送到 azure blob 存储中。当我运行管道时,它会成功构建,如果我echo可以sed正确替换变量,但是当我前往 azure 上的 blob 并检查文件时,我看到的是原始值而不是 sed。

知道为什么会发生这种情况或我做错了什么吗?请?

更新:在我的管道cat中,我尝试使用 更新的文件sed和管道运行期间的输出,它表明该值已正确替换,但在上传期间,在我的情况下是天蓝色的上传批处理,它上传我在 GitHub 中的文件原始文件忽略了上一步中的 sed。

4

1 回答 1

0

我只是遇到了完全相同的问题并进行了相同的检查。我的问题是我没有考虑代理工作目录(例如/home/devops_agent_dev/azagent/_work/r2/a),所以本质上,文件正在更改,但后来在管道中使用了不同的文件,这就是为什么没有反映更改的原因。

于 2021-09-08T13:31:58.493 回答