【问题标题】:Upload File as a parameter to job in Azure DevOps将文件作为参数上传到 Azure DevOps 中的作业
【发布时间】:2020-07-12 23:54:11
【问题描述】:

我有一个 Azure DevOps 管道,可以在 salesforce 中自动创建用户。我期待 excel 文件中的用户详细信息,该文件将作为预构建参数提供给 Azure DevOps 管道。但是,我无法在 Azure DevOps 中找到解决方案。

我已经在之前的项目中使用文件参数插件在 Jenkins 中实现了这一点。 Azure DevOps 有这个能力吗?

【问题讨论】:

    标签: azure azure-devops azure-pipelines devops


    【解决方案1】:

    我认为您不能在构建开始之前加载文件并读取变量,但是,您可以添加一个从文件中读取变量并将他放在开头的任务(管道中的第一步) .

    JSON 文件中读取变量的扩展很少,例如:Json to Variable

    如果你想从 excel 中读取数据,我认为你应该编写一个脚本来完成它。

    【讨论】:

    • 谢谢!我确实有一个将 excel 转换为 Json 的脚本,然后我将其用于进一步的自动化。但是,这些是面向非技术人员的自助式 CI/CD 管道。我的用户不知道如何将 excel 提交到 git 或将其加载到工件中。因此,我希望他们在构建之前像 jenkins 一样上传文件:(stackoverflow.com/questions/42224691/…)
    • @B.TAnand 根据您的场景,如果您想在构建之前上传文件,恐怕目前在 azure devops 中是不可能的。您可以在我们的UserVoice 网站。
    • @B.T Anand 如果Shayki的回答对您有帮助,请标记为答案。或者如果您有任何疑问,请随时在这里分享。
    【解决方案2】:

    在搜索了各种博客和帖子后,我意识到没有办法直接在 VSTS 中完成这项工作。但是,我能够解决同样的问题。

    1. 我创建了一个 VSTS 用户故事并将我的附件上传到那里
    2. 使用工作项 ID,我使用工作项 api 来获取附件 ID。
    3. 使用附件 API,我能够编写一个 python 脚本来下载这个附件,作为管道中的前一步的一部分。然后就可以在我的自动化脚本中使用它了。

    【讨论】:

      【解决方案3】:

      使用本地托管代理,您可以从本地共享发布工件,然后移动到即 ms-hosted 代理并正常使用它。

            - task: DownloadFileshareArtifacts@1
              inputs:
                filesharePath: '\\myhost\myshare\myfolder'
                artifactName: 'my-artifact'
                downloadPath: '$(System.ArtifactsDirectory)'
                parallelizationLimit: '8'
      

      https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/download-fileshare-artifacts?view=azure-devops

      【讨论】:

        猜你喜欢
        • 2021-05-14
        • 1970-01-01
        • 1970-01-01
        • 2021-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多