管理管道源
仅限具有管理员特权可以管理管道源.
需求
要成功添加管道源,请确保以下条件:
- 源代码控制集成中使用的凭据应该具有对指定的源代码控制存储库的管理访问权。管理员权限用于添加一个webhook,允许管道在存储库中更改时得到通知。
- 管道1.26.0及更低版本:存储库路径有效。要知道要指定的确切路径,请检查源代码控制系统中该存储库的git克隆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集成中使用的凭据可以访问该分支。
添加集成对于管道文件存储库所在(或将要位于)的源代码控制系统。集成可以是以下源代码控制系统提供者之一:
添加管道源
添加一个源代码控制存储库作为Pipeline source:
- 去管理|管道|管道源.
- 结果是管道来源显示,点击添加管道来源然后单击以下其中一个:
从YAML
- 在添加YAML Pipeline Source页中,单击下列之一:
- 单分支
- 多分支
- 单击以选择在同步管道源时用于克隆存储库的协议类型:
- SSH
- HTTPS
完成单/多分支形式:
场 描述 的名字
为管道源输入唯一的名称。 SCM提供者集成
单击SCM提供者集成字段并选择您的源代码控制集成从下拉列表中。下拉列表中只包括兼容作为Pipeline Source使用的集成。 存储库全名
基于您为所选集成提供的信息,例如API令牌,所有相关的存储库都列在存储库全名字段。选择存储管道文件的存储库的路径。如果存储库的名称不是自动获取的,请输入存储管道文件的存储库的全名。
分支机构(仅限单个分支机构)
B根据您提供的SCM提供者和存储库全名,a所有可用的分支都会自动获取(例如,
主要
).选择所需的分支。如果分支的名称不是自动获取的,请输入分支的名称。排除(仅限多分支)
指定排除分支模式作为要排除的匹配分支名称的正则表达式。
包括(仅限多分支机构)
指定包括分支模式作为要包含的匹配分支名称的正则表达式。
同步所有分支切换
(只适用于多科)
当添加一个新的多分支管道源时,只同步默认的分支。要根据Exclude/Include模式同步所有分支,请单击同步所有分支切换。如果不提供Exclude/Include模式,则同步所有分支。
此外,当一个新的提交被推送到匹配的分支,该特定的分支是同步的。
文件夹名称(管线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
目录如果你有一个在一个repo中包含多个服务的monorepo,建议使用如下目录结构:
现有目录结构 推荐目录结构 根
构建/ ci-Service1
-建立/ ci / pipe.yaml
-Service2
-建立/ ci / pipe.yaml
根
.jfrog-pipelines-Service1/ pipe.yaml
-Service2/ pipe.yaml
从配置文件过滤器迁移到新的文件夹结构
在管线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值下拉:
- 源代码控制存储库:当你想获取值时使用这个。yml文件。
- 手动输入:当您想手动定义管道源的值时使用此选项。
- 源代码控制存储库
请按下列其中一项:
- 单分支
- 多分支
- 单击以选择在同步管道源时用于克隆存储库的协议类型:
- SSH
- HTTPS
完成单/多分支形式:
场 描述 的名字
为管道源输入唯一的名称。 SCM提供者集成
单击SCM提供者集成字段并选择您的源代码控制集成从下拉列表中。下拉列表中只包括兼容作为Pipeline Source使用的集成。 存储库全名
基于您为所选集成提供的信息,例如API令牌,所有相关的存储库都列在存储库全名字段。选择存储管道文件的存储库的路径。如果存储库的名称不是自动获取的,请输入存储管道文件的存储库的全名。
分支机构(仅限单个分支机构)
B根据您提供的SCM提供者和存储库全名,a所有可用的分支都会自动获取(例如,
主要
).选择所需的分支。如果分支的名称不是自动获取的,请输入分支的名称。排除(仅限多分支)
指定排除分支模式作为要排除的匹配分支名称的正则表达式。
包括(仅限多分支机构)
指定包括分支模式作为要包含的匹配分支名称的正则表达式。
同步所有分支切换
(只适用于多科)
当添加一个新的多分支管道源时,只同步默认的分支。要根据Exclude/Include模式同步所有分支,请单击同步所有分支切换。如果不提供Exclude/Include模式,则同步所有分支。
此外,当一个新的提交被推送到匹配的分支,该特定的分支是同步的。
文件路径 的路径 .values.yml
文件,其中包含模板的值。- 手动输入
- 的名字:不能重复标识从模板创建的管道源定义。
- Values.yml:手动输入或粘贴Values定义。
- 点击创建源完成管道源的添加。
如果JFrog管线成功地与存储库同步,则状态字段显示Success。否则,显示“Failed”。
提交到存储库的所有管道配置文件将自动加载到JFrog管道中,并且该源中定义的所有管道都列在管道列表中。
验证YAML
在添加管道源之前,您可以选择验证YAML,然后将其提交给SCM。这使您能够获得关于管道同步错误的即时反馈。YAML验证器将对语义和语法错误进行YAML验证。
验证YAML:
- 点击验证YAML.
- 输入YAML并将YAML内容粘贴到管线和资源字段中。2022世界杯阿根廷预选赛赛程有关管道DSL的更多信息,请参见定义管道.
在输入YAML内容时,对其进行验证,并显示语法错误(如果有的话)。 - 修复所有语法错误后,单击验证来验证YAML的语义错误。
查看管道源
若要查看已添加到管道的管道源列表,请转到管理|管道|管道源或应用|管道|管道源.
该页显示管道源的列表根据JFrog平台中定义的权限目标提供给您。您的用户帐户必须是授予权限用于显示它的管道源。
管道源列表的每一行都包括以下内容:
的名字 |
|
Git存储库 |
管道源的源存储库路径 |
项目 |
管道源所属的项目 |
最新状态 |
上次同步成功/失败的状态 |
配置文件过滤器 |
管道配置文件的筛选器字符串 |
最后一次同步 |
上次同步的时间和日期 |
改变了 |
对管道源进行最后一次更新的用户名 |
上下文 |
触发上次同步的提交SHA |
日志 |
单击日志链接查看上次同步的日志。使用它可以诊断同步管道源的失败。 |
如果管道源是一个多分支源,那么该行将显示所有分支的聚合信息,并且可以展开/折叠以显示每个分支的同步状态。
同步管道源
当管道配置文件发生变化时,你需要同步管道源来重新加载:
- 去管理|管道|管道源和c舔的行动位于最右边的按钮。
- 点击同步.
查看同步日志
查询所有已同步配置文件的日志。
- 去管理|管道|管道源和c舔的行动位于最右边的按钮。
- 点击日志.
管道源同步恢复
管道提供了一个选项,可以为不同步的管道源启用自动同步。有关更多信息,请参见管道源同步恢复.
删除管道源
当一个管道源被删除时,它会删除与该源关联的所有管道。
删除一个管道源。
- 去管理|管道|管道源和c舔的行动位于最右边的按钮。
- 点击删除.
- 点击确认在出现的确认窗口中。
如果与其关联的任何管道仍在运行,则不能删除管道源。您可以取消运行,也可以等待运行完成,然后删除管道源。
获取分支
当为Multibranch管道源创建一个或多个分支时,webhook可能不会被正确处理,导致这些分支没有被添加到管道源。
管道可以基于所选择的SCM集成和存储库的全名,自动获取和同步多分支管道源中缺失的分支。
这样做:
- 单击行动按钮为多分支管道,然后单击获取分支.
的获取分支窗口出现。 - 在分支字段,您可以:
- 输入要获取和同步的分支的名称。
或 - 单击获取分支按钮,尝试根据配置的SCM集成和存储库自动获取所有分支。
如果找到一个或多个分支,则在下拉菜单中列出它们。
- 输入要获取和同步的分支的名称。
- 单击,选择相应的分支。
- 点击确认同步管道源。
新发现的分支现在列出在Pipeline Sources页面上。