【问题标题】:Azure Pipeline sed fileAzure 管道 sed 文件
【发布时间】:2021-09-08 21:31:58
【问题描述】:

我对这个管道及其工作流程有疑问。 我想要实现的想法是在我的 azure 管道中声明一组变量,并且在运行时,我想在将这些变量名称推送到 azure 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。

【问题讨论】:

  • 您能否分享将文件夹推送到 Azure blob 存储的作业配置?也请分享此作业的调试日志。

标签: bash azure-devops azure-pipelines


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-03-18
    • 2014-08-31
    • 2017-04-23
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多