Azure 构建和发布工件命名?
Azure build and release artifacts naming?
我的 DevOps Azure 网站上有一个名为 "my_platform_services" 的 repo。这个 repo 不是 Java Maven 或 Gradle 项目或类似的东西;主要是 bash 个脚本。
我基本上想 consume/使用这个 repo 到我的发布管道中,我想在其中添加一个 Stage 和一些运行 ovf/build 目录中的 my_platform_services repo 中的 bash 脚本之一!
我知道我可以在舞台中添加命令行任务并将代码放入 运行 我的脚本,即:
./deploy.sh -i name -v 1.0.0
但我一直收到 No such file or directory error
我不知道如何访问那个 artifact/repo 的工作目录,所以我可以 运行 我在那个代理上的脚本。我对我公司的变量命名感到困惑。一些构建管道有像 $BUILD_ARTIFACTSTAGINGDIRECTORY
这样的变量,我试图模拟的发布管道中的一些脚本有 $(System.DefaultWorkingDirectory)
,有些是 $(Build.ArtifactStagingDirectory)
。
我不明白为什么有些相同但大写或者为什么有些有括号,我试着查看 Azure/Microsoft 文档,但他们列出的所有 "pre-defined" 管道变量都不是相同。我什至查看了各自的管道(发布和构建)变量,看看我是否能在那里找到任何变量,但是只有常量之类的变量,例如密码或其他变量(None 看起来像这样)。
如果我将 repo 设置为 Release 管道的 artifact,它会自动被消耗,还是我仍然需要在 Stage 中添加任务(在 release 中pipeline) for "Download the Artifacts" from that specific repo?
谁能给我解释一下这些变量是在哪里定义的,它们的路径到底是什么?我构建了一些非常简单的基本构建管道和一个使用构建管道并部署到 Azure 的发布管道,但它使用它们 "default" 部署到 azure 阶段,所以我不必手动配置任何目录或文件。我会接受任何帮助!!
如果您已经将存储库添加为发布管道中的工件。我的意思是你这样做了:
你应该很容易在你的工作中找到这个步骤:
因此您不必添加任何下载步骤。他们在那里。您还可以在 docs 中找到:
System.DefaultWorkingDirectory
The directory to which artifacts are downloaded during deployment of a
release. The directory is cleared before every deployment if it
requires artifacts to be downloaded to the agent. Same as
Agent.ReleaseDirectory and 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 的主根中。
我的 DevOps Azure 网站上有一个名为 "my_platform_services" 的 repo。这个 repo 不是 Java Maven 或 Gradle 项目或类似的东西;主要是 bash 个脚本。
我基本上想 consume/使用这个 repo 到我的发布管道中,我想在其中添加一个 Stage 和一些运行 ovf/build 目录中的 my_platform_services repo 中的 bash 脚本之一!
我知道我可以在舞台中添加命令行任务并将代码放入 运行 我的脚本,即:
./deploy.sh -i name -v 1.0.0
但我一直收到 No such file or directory error
我不知道如何访问那个 artifact/repo 的工作目录,所以我可以 运行 我在那个代理上的脚本。我对我公司的变量命名感到困惑。一些构建管道有像 $BUILD_ARTIFACTSTAGINGDIRECTORY
这样的变量,我试图模拟的发布管道中的一些脚本有 $(System.DefaultWorkingDirectory)
,有些是 $(Build.ArtifactStagingDirectory)
。
我不明白为什么有些相同但大写或者为什么有些有括号,我试着查看 Azure/Microsoft 文档,但他们列出的所有 "pre-defined" 管道变量都不是相同。我什至查看了各自的管道(发布和构建)变量,看看我是否能在那里找到任何变量,但是只有常量之类的变量,例如密码或其他变量(None 看起来像这样)。
如果我将 repo 设置为 Release 管道的 artifact,它会自动被消耗,还是我仍然需要在 Stage 中添加任务(在 release 中pipeline) for "Download the Artifacts" from that specific repo?
谁能给我解释一下这些变量是在哪里定义的,它们的路径到底是什么?我构建了一些非常简单的基本构建管道和一个使用构建管道并部署到 Azure 的发布管道,但它使用它们 "default" 部署到 azure 阶段,所以我不必手动配置任何目录或文件。我会接受任何帮助!!
如果您已经将存储库添加为发布管道中的工件。我的意思是你这样做了:
你应该很容易在你的工作中找到这个步骤:
因此您不必添加任何下载步骤。他们在那里。您还可以在 docs 中找到:
System.DefaultWorkingDirectory
The directory to which artifacts are downloaded during deployment of a release. The directory is cleared before every deployment if it requires artifacts to be downloaded to the agent. Same as Agent.ReleaseDirectory and 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 的主根中。