Azure构建和发布工件的命名?

时间:2020-05-05 03:32:09

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

我在DevOps Azure网站上有一个 repo ,名称为“ my_platform_services”。这个仓库不是Java Maven或Gradle项目,也不是类似的东西。主要是bash脚本。

我基本上想消费 /使用此仓库到我的发布管道,在这里我想添加一个阶段和一些任务来运行其中一个ovf / build目录中my_platform_services存储库中的bash脚本

我知道我可以在舞台中添加命令行任务,然后将代码放入运行我的脚本,即:

./deploy.sh -i name -v 1.0.0

但是我不断收到No such file or directory error enter image description here

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

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

如果我将发布库设置为发布管道的工件,它是否会自动消耗,还是我仍然需要在阶段(在发布管道中)为“下载”添加任务该特定存储库中的“工件”?

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

1 个答案:

答案 0 :(得分:0)

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

enter image description here

enter image description here

您应该在工作中轻松找到此步骤:

enter image description here

因此您无需添加任何下载步骤。他们在那里。您还可以在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位于存储库的主根目录中。