YAML模式
2022世界杯阿根廷预选赛赛程资源:—name:type: GitRepo configuration: gitProvider: path: files: include: <正则表达式> exclude: <正则表达式> branches: include: <正则表达式> exclude: <正则表达式> pullRequestSourceBranches: include: <正则表达式> exclude: <正则表达式> pullRequestTargetBranches: include: <正则表达式> exclude: <正则表达式> tags: include: <正则表达式> exclude: <正则表达式> buildOn:commit: pullRequestCreate: pullRequestClose: releaseCreate: tagCreate: cancelPendingRunsOn: newCommit: pullRequestUpdate: shallowDepth: #用于设置回购(浅)克隆/提取的深度cloneProtocol: #可选。ssh pin: versionId: sha:
标签
的名字
一个字母数字标识资源的字符串(允许使用下划线)。
类型
必须GitRepo
对于此资源类型。
配置
指定资源的所有配置选择。
标签 |
描述 |
必需的/可选 |
---|---|---|
|
源代码控制集成的名称。目前支持的集成类型有: | 要求 |
路径 |
存储库从集成根开始的路径 |
要求 |
文件 |
|
可选 |
|
支持正则表达式 的
例子:
如果未指定标记,将触发默认分支。 |
可选 |
pullRequestSourceBranches |
如果不指定该标记,默认情况下匹配所有分支。 |
可选 |
pullRequestTargetBranches |
如果未指定此标记,则 |
可选 |
标签 |
用于指定标签和版本的集合,在此基础上创建新版本
如果不指定该标记,默认匹配所有标记。 |
可选 |
buildOn |
用于控制是否在指定事件时更新资源
如果未指定此标记, 有关使用此标记的详细信息,请参见触发Git存储库更改. |
可选 |
cancelPendingRunsOn |
用于控制以前触发的运行是否被新的webhook取消
默认情况下,此标记的所有值都为false。 有关使用此标记的详细信息,请参见取消之前对Git存储库更改的运行. |
可选 |
shallowDepth |
使用一个正整数来设置回购被(浅)克隆/获取的深度 如果 |
可选 |
cloneProtocol |
用于选择克隆repo时要使用的协议。支持的值为ssh 或https .默认为ssh . |
可选 |
销 |
此配置可用于将资源固定到特定版本。固定资源版本将被引用此资源作为输入的步骤使用,更新的版本将被忽略。 用户在选择要固定的GitRepo资源版本时有两个配置选项:
或
使用该资源作为输出的步骤仍然可以生成新版本。对于使用该资源作为输入的步骤,新版本将是可见的,只要它们是创建该版本的步骤的同一运行的一部分。 当创建一个新的运行时,手动自定义触发器仍然可以用来覆盖固定的版本到不同的版本。 |
可选 |
环境变量
每当GitRepo
在步骤中使用时,将自动提供一组可在步骤中使用的环境变量。
环境变量 | 描述 |
---|---|
res_ < resource_name > _path |
资源的相对路径 |
res_ < resource_name > _branchName |
发生提交的分支名称。如果它是为拉请求创建的,那么它就是基分支 |
res_ < resource_name > _commitMessage |
提交正在使用的版本的消息 |
res_ < resource_name > _commitSha |
正在使用的版本的提交的SHA |
res_ < resource_name > _commitUrl |
提交的URL |
res_ < resource_name > _committerLogin |
正在使用的SHA的提交者的名称 |
res_ < resource_name > _gitProvider_name |
Git集成名称 |
res_ < resource_name > _gitProvider_url |
Git Provider集成的URL |
res_ < resource_name > _gitRepoFullName |
Git回购的名称 |
res_ < resource_name > _gitRepoRepositoryHttpsUrl |
Git存储库的HTTPS URL |
res_ < resource_name > _gitRepoRepositorySshUrl |
Git存储库的SSH URL。 |
res_ < resource_name > _gitRepoRepositoryUrl |
Git存储库的URL |
res_ < resource_name > _gitRepoSourceDefaultBranch |
Git存储库的默认分支 |
res_ < resource_name > _gitTagName |
如果当前版本中存在标记名,则这将是标记名 |
res_ < resource_name > _integrationName |
的的名字 GitRepo使用的集成字符串 |
res_ < resource_name > _isGitTag |
真正的 如果版本是基于git标记的构建 |
res_ < resource_name > _isPrerelease |
真正的如果版本是基于git发行版的构建。仅当集成为GitHub时支持 |
res_ < resource_name > _isPullRequest |
真正的 如果版本是一个git开放拉请求基于构建 |
res_ < resource_name > _isPullRequestClose |
真正的 ,如果版本是git封闭拉请求基于步骤。仅当集成GitHub、Bitbucket或Gitlab时支持。 |
res_ < resource_name > _isRelease |
真正的 如果版本是基于git发行版的构建。仅当集成为GitHub时支持 |
res_ < resource_name > _pullRequestNumber |
拉取请求的ID号 |
res_ < resource_name > _pullRequestBaseBranch |
拉取请求更改将合并到其中的基本分支的名称 |
res_ < resource_name > _pullRequestSourceUrl |
拉请求的源URL |
res_ < resource_name > _pullRequestSourceHttpsUrl |
拉取请求的源HTTPS URL |
res_ < resource_name > _pullRequestSourceSshUrl |
pull请求的源SSH URL |
res_ < resource_name > _resourcePath |
节点上资源文件夹的全路径 |
res_ < resource_name > _operation |
输入或输出资源 |
res_ < resource_name > _shaData |
JSON对象,包含SHA的详细信息 |
res_ < resource_name > _beforeCommitSha |
在提交之前的SHA |
res_ < resource_name > _baseCommitRef |
PR中base分支的提交SHA |
res_ < resource_name > _compareUrl |
比较URL的提交 |
res_ < resource_name > _gitTagMessage |
如果创建了一个git标记,它将保存消息(如果消息存在) |
res_ < resource_name > _releaseName |
如果创建了一个版本,它将保存该版本的名称 |
res_ < resource_name > _releaseBody |
如果创建了一个版本,它将保存该版本的描述 |
res_ < resource_name > _releasedAt |
如果创建了发布,则保存发布日期 |
res_ < resource_name > _lastAuthorLogin |
上一次作者登录的详细信息 |
res_ < resource_name > _lastAuthorEmail |
作者邮箱 |
res_ < resource_name > _isBranchCreate |
真正的 如果创建了分支 |
res_ < resource_name > _isBranchDelete |
真正的 如果一个分支被删除 |
例子
示例1
2022世界杯阿根廷预选赛赛程resources:—name: my_app_repo type: GitRepo configuration: gitProvider: my_github path: myuser/repo-name branches: include: master
示例2
2022世界杯阿根廷预选赛赛程资源:—name: my_app_repo type: GitRepo configuration: gitProvider: my_github path: myuser/repo-name branch: exclude: ^(master|release)$
示例3
下面的示例对于引用源存储库中的单个目录可能很有用,该源存储库包含较大项目中单个微服务的源代码。
2022世界杯阿根廷预选赛赛程资源:—名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name分支:包括:主文件:包括:^folder1\/package\/docker\/micro1\/.+
示例4
默认情况下,GitRepo在提交时触发,但这可以在buildOn
属性。有关触发的详细信息,请参见触发管道和步骤.
2022世界杯阿根廷预选赛赛程资源:—name: my_app_repo type: GitRepo configuration: gitProvider: my_github path: myuser/repo-name分支:include: master buildOn: commit: false pullRequestCreate: true
示例5
下面的示例管道触发了GitRepo资源的第一步。该步骤使用GitRepo资源公开的环境变量导航到构建节点上克隆git存储库的路径,并在该目录中执行脚本。
管线:—name: java_pipeline steps:—name: step_1 type: Bash configuration: inputResources—n2022世界杯阿根廷预选赛赛程ame: my_app_repo execution: onExecute:—pushd $res_my_app_repo_resourcePath—./execute.sh—popd .sh
例子6
2022世界杯阿根廷预选赛赛程资源:—name: my_app_repo type: GitRepo configuration: gitProvider: my_github path: myuser/repo-name分支:include: master cloneProtocol: https
例7
在本例中,GitRepo仅针对要掌握的拉请求更新。
2022世界杯阿根廷预选赛赛程资源:—name: my_app_repo type: GitRepo configuration: gitProvider: my_github path: myuser/repo-name pullRequestTargetBranches: include: ^master$ buildOn: commit: false pullRequestCreate: true