管理管道源
仅限具有管理员特权可以管理管道源。
需求
要成功添加管道源,请确保以下事项:
- 在源代码控制集成中使用的凭证应该具有对指定的源代码控制存储库的管理访问权限。管理员权限用于添加一个webhook,该webhook允许管道在存储库更改时收到通知。
- 管道1.26.0及以下版本:存储库路径有效。要知道要指定的确切路径,请检查源代码控制系统中该存储库的git clone URL并复制该值。
下面是一些例子:- GitHub / GitHub企业:https://github.com/myuser/basic-pipeline.git——使用myuser / basic-pipeline
- Bitbucket服务器(私有存储库):https://git.mycompany.com/scm/project-id/repo-name.git——使用项目号/ repo-name
- Bitbucket服务器(独立存储库):https://git.mycompany.com/scm/~myuser/myfirstrepo.git——使用~ myuser / myfirstrepo
- Bitbucket都:https://username@bitbucket.org/teamspace/test-repo.git——使用) / test-repo
- GitLab:https://gitlab.com/user1/repo1.git——使用user1 / repo1
- 分支名称是有效的,并且管道源的Git集成中使用的凭证具有对分支的访问权。
添加集成对于管道文件存储库所在(或将要所在)的源代码控制系统。集成可以是这些源代码控制系统提供商之一:
添加管道源
添加一个源代码控制库作为管道源:
- 去管理|管道|管道来源。
- 在结果中管道来源显示,点击添加管道来源然后按下列其中一项:
从YAML
- 在添加YAML管道源页,按下列其中一项:
- 单分支
- 多分支
- 单击,选择同步管道源时用于克隆存储库的协议类型:
- SSH
- HTTPS
完成单/多分支形式:
场 描述 名字
为管道源输入一个唯一的名称。 SCM提供商集成
单击SCM提供商集成字段并选择您的源代码控制集成从下拉列表中。下拉列表中只包含与管道源兼容的集成。 存储库全称
根据您为所选集成提供的信息,例如API令牌,所有相关的存储库都列在存储库全称字段。选择存储管道文件的存储库的路径。如果没有自动获取存储库的名称,请输入存储管道文件的存储库的全名。
分行(只限单一分行)
B基于您提供的SCM提供者和存储库全名,a自动获取所有可用的分支(例如,
主要
)。选择所需的分支。如果分支名称不是自动获取的,则输入分支名称。排除(仅限多分支)
指定排除分支模式作为要排除的匹配分支名称的正则表达式。
包括(仅限多分支机构)
指定包含分支模式作为要包含的匹配分支名称的正则表达式。
文件夹名称(管线1.27.0及更高版本) 提供YAML配置可用的目录名。
- 使用文件夹名称,在SCM存储库中,将您的YAML文件放在名为。
jfrog-pipelines
。这个目录可以是根目录,也可以比根目录低一级。不支持超过此级别的目录。 - 下面是monorepos可能的目录结构:
——根
——.jfrog-pipelines
或——根
——.jfrog-pipelines
——service1
生成——service2
或——根
——service1
--------- . jfrog-pipelines
生成——service2
--------- . jfrog-pipelines
- 的。
jfrog-pipelines
目录可以包含任意数量的YAML文件。 - 如果要解析根目录下的所有YAML文件,输入“。”。但是,其他管道源不能指向此存储库。
- 您可以创建指向相同SCM存储库的多个管道源,只要目录名不同(并且没有一个指向根目录)。
使用文件夹名称的推荐目录结构
下面是一些支持的目录结构的例子:
YAML文件位置 文件夹名称路径 YAML文件位于 .jfrog-pipelines
根目录输入
。
(点)或.jfrog-pipelines
在文件夹名称字段获取所有的YAML文件YAML文件位于 .jfrog-pipelines / project1
目录输入
.jfrog-pipelines / project1
在文件夹名称字段中获取YAML文件.jfrog-pipelines / project1
目录YAML文件位于以下目录:
- .jfrog-pipelines
- .jfrog-pipelines / project1
- .jfrog-pipelines / project2
输入
。
(点)或.jfrog-pipelines
在文件夹名称字段获取所有目录中的所有YAML文件或
输入
.jfrog-pipelines / project1
在文件夹名称字段中获取YAML文件.jfrog-pipelines / project1
目录输入
.jfrog-pipelines / project2
在文件夹名称字段中获取YAML文件.jfrog-pipelines / project2
目录YAML文件位于以下目录:
- .jfrog-pipelines
service1
/ .jfrog-pipelinesservice2
/ .jfrog-pipelines
输入
。
(点)或.jfrog-pipelines
在文件夹名称字段中获取YAML文件.jfrog-pipelines
目录中的YAML文件service1
/ .jfrog-pipelines
和service2
/ .jfrog-pipelines
目录将不包括在内。或
输入
service1
/ .jfrog-pipelines
在文件夹名称字段获取特定的YAML文件service1
/ .jfrog-pipelines
目录输入
service2
/ .jfrog-pipelines
在文件夹名称字段获取特定的YAML文件service2
/ .jfrog-pipelines
目录如果你有一个单仓库,在一个仓库中有多个服务,建议使用如下的目录结构:
现有目录结构 推荐目录结构 根
构建/ ci-Service1
-建立/ ci / pipe.yaml
-Service2
-建立/ ci / pipe.yaml
根
.jfrog-pipelines-Service1/ pipe.yaml
-Service2/ pipe.yaml
从配置文件过滤器迁移到新文件夹结构
在pipeline 1.27.0版本中,配置文件过滤器已经被一个叫做文件夹名称用于添加管道源。虽然配置文件过滤器在编辑管道源时仍然支持并可用。
- 此更改不影响1.26.0之前添加的管道源。但是,强烈建议您对新的管道源使用推荐的文件夹结构,并将现有源移动到推荐的文件夹结构中。使用文件夹结构可以显著提高管道同步的性能。
- 你可以利用文件夹名称特性,方法是编辑管道源,然后提供新的目录路径。在本例中,中的条目配置文件过滤器忽略,并使用目录路径中的管道源。
- 如果两个字段都有值,则文件夹名称字段优先。但是,如果没有
.jfrog-pipelines
目录在目录路径中找到,然后在配置文件过滤器字段用于查找YAML文件。
配置文件过滤器(管线1.26.0及以下) 输入正则表达式。任何与表达式匹配的文件名都将被加载。
例子:-
- 如果您计划在名为2022世界杯阿根廷预选赛赛程
pipelines.2022世界杯阿根廷预选赛赛程resources.yml
你的管道pipelines.workflows.yml
,然后你就可以进去了管道。* .yml
。 如果有多个yaml配置文件,则输入
. * yml
。- 除了
pipelines.yml
,如果您正在使用values.yml
,确保两个文件都添加到过滤器中,使用(管道|值).yml
。
- 如果您计划在名为2022世界杯阿根廷预选赛赛程
- 使用文件夹名称,在SCM存储库中,将您的YAML文件放在名为。
从模板
- 完成模板属性形式:
- 单击选择模板命名空间字段并选择名称空间。
- 单击选择模板名称字段并选择模板。
单击选择模板版本字段,并为模板选择版本。
- 点击下一个。
在结果中指定值文件页中,单击下列选项之一从中读取YAML值下拉:
- 源代码控制存储库:当你想获取值时使用。从SCM提供程序获取yml文件。
- 手动输入:当您想要手动定义管道源的值时使用此方法。
- 源代码控制存储库
按下列其中一项:
- 单分支
- 多分支
- 单击,选择同步管道源时用于克隆存储库的协议类型:
- SSH
- HTTPS
完成单/多分支形式:
场 描述 名字
为管道源输入一个唯一的名称。 SCM提供商集成
单击SCM提供商集成字段并选择您的源代码控制集成从下拉列表中。下拉列表中只包含与管道源兼容的集成。 存储库全称
根据您为所选集成提供的信息,例如API令牌,所有相关的存储库都列在存储库全称字段。选择存储管道文件的存储库的路径。如果没有自动获取存储库的名称,请输入存储管道文件的存储库的全名。
分行(只限单一分行)
B基于您提供的SCM提供者和存储库全名,a自动获取所有可用的分支(例如,
主要
)。选择所需的分支。如果分支名称不是自动获取的,则输入分支名称。排除(仅限多分支)
指定排除分支模式作为要排除的匹配分支名称的正则表达式。
包括(仅限多分支机构)
指定包含分支模式作为要包含的匹配分支名称的正则表达式。
文件路径 的路径 .values.yml
文件,其中包含模板的值。- 手动输入
- 名字:输入唯一的名称来标识从模板创建的管道源定义。
- Values.yml:手动输入或粘贴“value”定义。
- 点击创建源完成管道源的添加。
如果JFrog Pipelines成功地与存储库同步,则状态字段显示“Success”。否则显示“Failed”。
所有提交到存储库的管道配置文件都将自动加载到JFrog Pipelines中,并且该源中所有已定义的管道都将列在管道列表中。
验证YAML
在添加管道源之前,您可以选择验证您的YAML,然后将其提交给SCM。这使您能够获得管道同步错误的即时反馈。YAML验证器将验证您的YAML是否存在语义和语法错误。
要验证您的YAML:
- 点击验证YAML。
- 输入YAML并将YAML内容粘贴到pipeline和Resources字段中。2022世界杯阿根廷预选赛赛程有关管道DSL的更多信息,请参见定义管道。
在输入YAML内容时,将对其进行验证,并显示语法错误(如果有的话)。 - 修复所有语法错误后,单击验证来验证YAML的语义错误。
查看管道源
要查看已添加到Pipelines的管道源列表,请转到管理|管道|管道来源或应用|管道|管道源。
该页面显示管道源的列表根据JFrog平台中定义的权限目标提供给您。您的用户帐户必须是授予权限以显示管道源。
管道源列表的每一行包括以下内容:
名字 |
|
Git存储库 |
管道源的源存储库路径 |
项目 |
管道源所属的项目 |
最新状态 |
最后一次同步的成功/失败状态 |
配置文件过滤器 |
管道配置文件的过滤器字符串 |
最后一次同步 |
最后一次同步的时间和日期 |
改变了 |
对管道源进行最后一次更新的用户的名称 |
上下文 |
触发最后一次同步的提交SHA |
日志 |
单击日志链接查看上次同步的日志。使用它来诊断同步管道源的失败。 |
如果管道源是多分支源,则行显示所有分支的汇总信息,并且可以展开/折叠以显示每个分支的同步状态。
同步管道源
当任何管道配置文件发生变化时,你需要同步管道源来重新加载:
- 去管理|管道|管道来源和c舔的行动按钮位于最右边。
- 点击同步。
查看同步日志
查询所有已同步配置文件的日志。
- 去管理|管道|管道来源和c舔的行动按钮位于最右边。
- 点击日志。
管道源同步恢复
Pipelines提供了一个选项,可以为不同步的管道源启用自动同步。有关更多信息,请参见管道源同步恢复。
删除管道源
当管道源被删除时,它将删除与该源关联的所有管道。
删除一个管道源。
- 去管理|管道|管道来源和c舔的行动按钮位于最右边。
- 点击删除。
- 点击确认在出现的确认窗口中。
如果管道源的任何关联管道仍在运行,则无法删除管道源。您可以取消运行,也可以等待运行完成,然后删除管道源。
获取分支
当为Multibranch管道源创建一个或多个分支时,webhook可能无法正确处理,导致这些分支未被添加到管道源。
管道可以根据选择的SCM集成和存储库的全名,自动获取并同步多分支管道源中缺失的分支。
要做到这一点:
- 单击行动按钮,然后单击获取分支。
的获取分支窗口出现。 - 在分支字段,您可以:
- 输入要获取和同步的分支的名称。
或 - 单击获取分支按钮,尝试根据配置的SCM集成和存储库自动获取所有分支。
如果找到一个或多个分支,它们将在下拉菜单中列出。
- 输入要获取和同步的分支的名称。
- 单击,选择相关分支。
- 点击确认同步管道源。
新发现的分支现在列在Pipeline Sources页面上。