添加代码仓库

KubeSphere 的 DevOps 工程中,目前已支持了以下几种主流的源代码管理工具 (Source Code Management),可以在创建 Jenkinsfile-in-SCM 这类流水线的高级设置添加这类源代码仓库,添加代码仓库之前需要预先创建一个账户凭证 (Credentials)。

  • GitHub
  • SVN
  • Git

SCM 设置

参考如下步骤添加代码仓库:

添加 GitHub

添加 GitHub 仓库已在 基于Spring Boot项目构建流水线示例文档中以添加示例的方式给出,详见 基于Spring Boot项目构建流水线 - 添加 GitHub

添加 Git

添加 Git 类型的代码仓库,原则是只要满足 Git 协议的仓库都支持添加,比如 GitLab、Gitee,添加这类代码仓库与添加 GitHub 步骤类似,需要预先为其创建凭证。在创建流水线的基本信息中,填写 Git 的仓库 URL 和证书 (credentials),其中的凭证一般选择 账户凭证 并填写账户信息,若还未创建凭证可以点击 新建凭证 创建。

如下添加 Gitlab 账户凭证。

添加 Gitlab 凭证

完成代码仓库的基本信息,证书选择上一步创建的 gitlab-id,点击保存。

添加 Git

添加 SVN

Subversion (SVN) 是一个开源的版本控制系統,它的版本控制与 Git 协议类型的代码仓库有很大区别,如下所示:

SVN 仓库目录结构

  • branch (分支):分支开发和主线开发是可以同时并行开发,分支常用于修复 bug 时使用。
  • truck (主线 | 主分支):可以理解为开发分支,新功能的开发应放在主线中,当各部分功能开发完后,如需修改代码就用 branch。
  • tag (标记):类似 GitHub 中的 tag,用于标记某个可用的版本,可以标记已经上线发布的版本,也可以标记正在测试的版本,一般是只读的。

SVN 目录结构

添加 SVN 作为代码管理工具,需预先填写 SVN 的远程仓库地址 (URL) 和证书 (credentials),其中的凭证一般选择 账户凭证 并填写账户信息。流水线将扫描 SVN 上存在 Jenkinsfile 的分支然后触发该分支来运行流水线,添加 SVN 详见以下信息:

  • 类型

    • 单分支 SVN:如果 Jenkinsfile 在根目录并且流水线在根目录运行,就用单分支 SVN
    • SVN: 如果 Jenkinsfile 在根目录的文件夹中,则选择该类型
  • 远程仓库地址:必填,并且是需要公网或者内网能访问到的 SVN 仓库地址
  • 证书:同 Git,需要添加账户凭证
  • 包括分支:和 GitHub 设置分支的发现策略类似,即选择流水线将要扫描哪些分支 (目录)。如下将扫描这四个分支目录下所有文件
  • 排除分支:不扫描哪些分支 (目录)

证书页面