azure - 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 阶段,因此我不必手动配置任何目录或文件。我会采取任何帮助!
解决方案
如果您已将存储库添加为发布管道中的工件。我的意思是你这样做了:
你应该很容易在你的工作中找到这一步:
因此,您不必添加任何下载步骤。他们在那里。您还可以在文档中找到:
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 的主根目录中。
推荐阅读
- javascript - 如何将 JavaScript 文件添加到 WordPress 网站
- regex - 正则表达式在方法中搜索两个字符串
- java - 为什么 parseInt 在我的 java 项目 Euler #4 的代码中不起作用?
- java - 改变Hashmap中Object的单个参数
- python - Keras 预测新图像
- javascript - 爬虫的“shouldCrawl”事件需要从 axios 异步函数返回的布尔值,并且无法使它们同步
- azure - 将 AD FS 添加为 ADB2C 中的 SAML 身份提供程序时出现无法解析元数据端点的 IP 地址错误
- swift - 如何实现动态CollectionView Cell Height(Size for item at)?
- python - 在 python 脚本中使用 ssh 代理
- amazon-web-services - Kafka Connect 与 AWS 中的 Elasticsearch