【问题标题】:Azure build and release artifacts naming?Azure 构建和发布工件命名?
【发布时间】:2020-08-19 15:36:12
【问题描述】:

我的 DevOps Azure 网站上有一个名为“my_platform_services”的repo。这个 repo 不是 Java Maven 或 Gradle 项目或类似的项目;主要是 bash 脚本。

我基本上想在我的发布管道中使用/使用这个 repo,我想添加一个 Stage 和一些任务来运行其中一个ovf/build 目录中 my_platform_services 存储库中的 bash 脚本

我知道我可以在舞台中添加命令行任务并放置代码来运行我的脚本,即:

./deploy.sh -i name -v 1.0.0

但我不断收到No such file or directory error

我不知道如何访问该工件/存储库的工作目录,因此我可以在该代理上运行我的脚本。我对我的公司对变量的命名感到困惑。一些构建管道有$BUILD_ARTIFACTSTAGINGDIRECTORY之类的变量,我试图模拟的发布管道中的一些脚本有$(System.DefaultWorkingDirectory),一些是$(Build.ArtifactStagingDirectory)

我不明白为什么有些相同但大写或为什么有些带有括号,我尝试查看 Azure/Microsoft 文档,但他们列出的所有“预定义”管道变量都不相同。我什至查看了各自的管道(发布和构建)变量,看看我是否会在那里找到任何变量,但只有常量之类的变量,例如密码或其他变量(没有一个看起来像这样)。

如果我将 repo 设置为发布管道的 工件,它会自动被消耗,还是我仍然需要在阶段(在发布管道中)添加一个任务以用于“下载来自该特定仓库的“工件”?

那么任何人都可以向我解释这些变量是在哪里定义的以及它们的路径到底是什么?我构建了一些非常简单的基本构建管道和一个使用构建管道并部署到 Azure 的发布管道,但它使用它们“默认”部署到 azure 阶段,因此我不必手动配置任何目录或文件。我会帮忙的!!

【问题讨论】:

    标签: azure azure-devops continuous-integration devops continuous-deployment


    【解决方案1】:

    如果您已将存储库添加为发布管道中的工件。我的意思是你这样做了:

    你应该很容易在你的工作中找到这一步:

    因此您不必添加任何下载步骤。他们在那里。您还可以在docs 中找到:

    System.DefaultWorkingDirectory

    在部署过程中将工件下载到的目录 发布。该目录在每次部署之前都会被清除,如果它 需要将工件下载到代理。与...一样 Agent.ReleaseDirectory 和 System.ArtifactsDirectory。

    但它们并不直接在此文件夹中。定义工件,您为它们添加了别名。他们在这个文件夹下。我有两个工件,对于ls $(System.DefaultWorkingDirectory),我得到了:

    2020-05-05T05:34:40.8873412Z     Directory: D:\a\r1\a
    2020-05-05T05:34:40.8873732Z 
    2020-05-05T05:34:40.8873966Z 
    2020-05-05T05:34:40.8876175Z Mode                LastWriteTime         Length Name                                                                  
    2020-05-05T05:34:40.8877413Z ----                -------------         ------ ----                                                                  
    2020-05-05T05:34:40.8879803Z d-----         5/5/2020   5:34 AM                repos                                                                 
    2020-05-05T05:34:40.8891912Z d-----         5/5/2020   5:34 AM                _DevOps Manual-CI                                                     
    2020-05-05T05:34:40.8955258Z 
    

    请检查您的工件的别名是什么并尝试命令:

    ./yourAlias/deploy.sh -i name -v 1.0.0
    

    如果 deploy.sh 位于 repo 的主根目录中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-12-23
      • 2019-08-30
      • 2020-11-26
      • 1970-01-01
      • 1970-01-01
      • 2021-01-04
      • 2018-11-16
      相关资源
      最近更新 更多