繁体   English   中英

如何使用 curl 请求使用 CLI 从 yaml 文件创建 Azure 管道?

[英]How do I use curl request to create an Azure Pipeline from yaml file using the CLI?

我在 azure 中创建了一个存储库,我创建了一个 bash 文件,该文件使用以下命令从我的 CLI 克隆了该存储库:

$curl git 克隆https://username@dev.azure.com/organization/project/_git/reponame

它克隆了回购。 我现在的挑战是自动化我保存在本地机器中的 yaml 文件,这样当我推送时,它会转到远程仓库并自动构建。 我会很感激你的想法。 谢谢

如果您尚未为您的存储库创建 azure 管道,则推送 yaml 文件不会触发管道,因为它不存在。

  • 如何使用 curl 请求使用 CLI 从 yaml 文件创建 Azure 管道?

如果您打算使用 curl 请求创建 azure 管道。 您可以通过cli调用Build Definition Create restful api来创建管道。

POST https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.1

请参见下面的脚本示例:

点击此处获取个人访问令牌

您可以调用存储库列表 rest api来获取存储库的 id。 您还可以获取 UI 的存储库 ID(转到项目设置--> Repo下的存储--> select您的存储库-->您将在地址栏中看到存储库 ID repositoryId=96a56858-..-... )

curl -X POST \
-u username:personalaccesstoken https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.1 \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "name" : "MyPipelineName";
    "repository" : {
        "url" : "<the-https-link-to-my-Git-repo>";
        "defaultBranch" : "refs/heads/master";
        "id" : "Id of the repository";
        "type" : "TfsGit";
    };
    "process" : {
        "yamlFilename": "path to/my-pipeline.yml";
        "type" : 2;
    };
    "path": "\A New Folder";
    "type" : "build";
}'

您还可以从 azure devops 项目 UI 门户创建 azure 管道。 请在此处查看详细步骤。 因为您已经有了 yaml 文件。 您可以在设置向导期间选择Existing Azure Pipeline YAML file 见下文:

在此处输入图像描述

通过上述方法创建管道后自动触发管道。 您需要在 yaml 文件中定义触发器。 请参阅此处了解更多信息。

例如:每次推送到 master 分支都会触发 master 分支上的构建。

trigger:
- master

注意:yaml 文件必须存在于分支中才能触发针对此分支的构建。

您可以使用 Azure DevOps CLI:

  1. 将个人访问令牌存储在环境中(或其他方式)
  2. 通过调用az repos create在 DevOps 组织中创建新的存储库
  3. 通过调用git push命令将本地 git 存储库推送到该存储库(#2)
  4. 通过调用az pipelines create创建新的 yaml 管道

然后将运行相关的构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM