YAML模式
2022世界杯阿根廷预选赛赛程资源:-名称:<字符串>类型:GitRepo配置:gitProvider:路径:<字符串>文件:包括:<正则表达式>排除:<正则表达式>分支:包括:<正则表达式>排除:<正则表达式> pullRequestSourceBranches:包括:<正则表达式>排除:<正则表达式> pullRequestTargetBranches:包括:<正则表达式>排除:<正则表达式>标签:包括:<正则表达式>排除:<正则表达式> buildOn:commit: pullRequestCreate: pullRequestClose: releaseCreate: tagCreate: cancelPendingRunsOn: newCommit: pullRequestUpdate: shallowDepth: <正整数> #用于设置repo(浅)克隆/获取的深度cloneProtocol: #可选。缺省为ssh pin: versionId: sha:
标签
名字
一个字母数字标识资源的字符串(允许下划线)。
类型
必须GitRepo
对于此资源类型。
配置
指定资源的所有配置选择。
标签 |
描述 |
必需的/可选 |
---|---|---|
|
源代码管理集成的名称。目前支持的集成类型有: | 要求 |
路径 |
从集成根目录到存储库的路径。 路径可以是硬编码的,也可以使用
例子
-名称:myfirst strepo类型:GitRepo配置:gitProvider: myGitHub路径:{{.jfrog-pipeline . sourcererepository}} |
要求 |
文件 |
|
可选 |
|
支持正则表达式 的
例子:
如果未指定标记,则触发默认分支。 |
可选 |
pullRequestSourceBranches |
如果未指定此标记,则默认匹配所有分支。 |
可选 |
pullRequestTargetBranches |
如果未指定此标记,则 |
可选 |
标签 |
用于指定在其上创建新版本的标记和发布的集合
如果未指定此标记,则默认匹配所有标记。 |
可选 |
buildOn |
用于控制是否在指定事件时更新资源
如果未指定此标签,则 有关使用此标记的详细信息,请参见触发Git存储库更改. |
可选 |
cancelPendingRunsOn |
用于控制先前触发的运行是否因新webhook而取消
默认情况下,该标签的所有值都为false。 有关使用此标记的详细信息,请参见在Git存储库更改时取消先前的运行. |
可选 |
shallowDepth |
使用一个正整数设置(浅)克隆/获取repo的深度 如果 |
可选 |
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提供程序集成的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 |
将合并pull请求更改的基本分支的名称 |
res_ < resource_name > _pullRequestSourceUrl |
拉取请求的源URL |
res_ < resource_name > _pullRequestSourceHttpsUrl |
拉取请求的源HTTPS URL |
res_ < resource_name > _pullRequestSourceSshUrl |
拉取请求的源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中基本分支的提交SHA |
res_ < resource_name > _headCommitRef |
PR中源分支的提交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世界杯阿根廷预选赛赛程资源:-名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name分支:include: master
示例2
2022世界杯阿根廷预选赛赛程资源:-名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name分支:exclude: ^(master|release)$
示例3
下面的示例可能有助于引用源存储库中的单个目录,该目录包含大型项目中单个微服务的源代码。
2022世界杯阿根廷预选赛赛程资源:-名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name branches: include:主文件:include: ^folder1\/package\/docker\/micro1\/.+
示例4
默认情况下,GitRepo在提交时触发,但这可以在buildOn
属性。有关触发的详细信息,请参见触发管道和步骤.
2022世界杯阿根廷预选赛赛程资源:-名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name分支:include: master buildOn: commit: false pullRequestCreate: true
示例5
下面的示例管道在GitRepo资源上触发第一步。该步骤使用GitRepo资源公开的环境变量导航到构建节点上克隆git存储库的路径,并在该目录中执行脚本。
管道:—名称:java_pipeline步骤:—名称:step_1类型:Bash配置:inputResources:—名称:my_app_repo执行:onExecute:2022世界杯阿根廷预选赛赛程—pushd $res_my_app_repo_resourcePath—。/execute.sh—popd . conf
例子6
2022世界杯阿根廷预选赛赛程资源:-名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name branches: include: master cloneProtocol: https
例7
在这个例子中,GitRepo只更新到master的pull请求。
2022世界杯阿根廷预选赛赛程资源:-名称:my_app_repo类型:GitRepo配置:gitProvider: my_github路径:myuser/repo-name pullRequestTargetBranches: include: ^master$ buildOn: commit: false pullRequestCreate: true