首页 > 解决方案 > Azure 构建和发布工件命名?

问题描述

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

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

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

./deploy.sh -i name -v 1.0.0

但我一直得到一个No such file or directory error 在此处输入图像描述

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

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

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

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

标签: azureazure-devopscontinuous-integrationdevopscontinuous-deployment

解决方案


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

在此处输入图像描述

在此处输入图像描述

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

在此处输入图像描述

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

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 的主根目录中。


推荐阅读