1. Release Notes
    1. Release Notes - 2.0.2Latest
    1. Release Notes - 2.0.1
    1. Release Notes - 2.0.0
  1. Introduction
    1. Introduction
    1. Features
    1. Architecture
    1. Advantages
    1. Glossary
  1. Installation
    1. Intruction
      1. Intro
      2. Port Requirements
    1. Install on Linux
      1. All-in-One Installation
      2. Multi-Node Installation
      3. Installing HA Master and Etcd Cluster
      4. Storage Configuration Instruction
    1. Install on Kubernetes
      1. Prerequisites
      2. Online Installation
      3. Offline Installation
    1. Related Tools
      1. Integrating Harbor Registry
    1. Cluster Operation
      1. Adding New Nodes
      2. High Risk Operation
      3. Uninstalling KubeSphere
  1. Quick Start
    1. Getting Started with Multitenancy
    1. Exposing your APP using Ingress
    1. Deploying a MySQL Application
    1. Deploying a Wordpress Website
    1. Job to compute π to 2000 places
    1. Deploying Grafana using APP Template
    1. Creating Horizontal Pod Autoscaler
    1. S2i: Publish your app without Dockerfile
    1. Canary Release of Microservice APP
    1. CI/CD based on Spring Boot Project
    1. Building a Pipeline in a Graphical Panel
    1. CI/CD based on GitLab and Harbor
    1. Ingress-Nginx for Grayscale Release
  1. Cluster Admin Guide
    1. Multi-tenant Management
      1. Overview of Multi-tenant Management
      2. Overview of Role Management
    1. Platform Management
      1. Account Management
      2. Platform Roles Management
    1. Infrastructure
      1. Service Components
      2. Nodes
      3. Storage Classes
    1. Monitoring Center
      1. Physical Resources
      2. Application Resources
    1. Application Repository
    1. Jenkins System Settings
  1. User Guide
    1. Application Template
    1. Workloads
      1. Deployments
      2. StatefulSets
      3. DaemonSets
      4. Jobs
      5. CronJobs
    1. Storage
      1. Volumes
    1. Network & Services
      1. Services
      2. Routes
    1. Configuration Center
      1. Secret
      2. ConfigMap
      3. Image Registry
    1. Project Settings
      1. Basic Information
      2. Member Roles
      3. Project Members
      4. Internet Access
    1. DevOps Project
      1. DevOps Project Management
      2. DevOps Project Management
      3. DevOps Project Management
      4. DevOps Project Management
      5. DevOps Project Management
  1. Development Guide
    1. Preparing the Development Environment
    1. Development Workflow
  1. API Documentation
    1. API Guide
    1. How to invoke KubeSphere API
KubeSphere®️ 2020 All Rights Reserved.

Add Source Code Management

DevOps project currently supports the following mainstream source code management tools (Source Code Management) in KubeSphere, which can be added to the pipeline using Jenkinsfile-in-SCM. Before adding the code repository, you need to create an account credential in advance.

  • GitHub
  • SVN
  • Git

Add the source code repository by following the steps below:

Add GitHub

There is an example walk you through how to add a GitHub repository, see Quick Start - Create a CI/CD Pipeline Based on Jenkinsfile.

Add Git

If you are going to add a Git-based source code repository, the principle is that as long as the SCM are Git protocol, such as GitLab, Gitee. Actually, add such a code repository is similar to add a GitHub, you need to create account credentials in advance.

Add Gitlab account credentials as following.

Add GitLab

  1. When you creating a Pipeline, click on Code Repository.

  1. Choose Git, then select gitlab-id that we created at the last step. Thus you can use it directly.


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

Subversion (SVN) is an open source version control system that is quite different from the Git protocol type code repository, as shown below:

SVN Architecture

Subversion usually uses structure with 3 folders:

  • Branches: contains different branches of project. Developers can work on multiple, simultaneous features without affecting others. Branches can be merged later after feature has been implemented
  • Trunk: contains latest source code, which is on development
  • Tags: contains snapshot of project. For example: Project A releases version 1.0, all sources inside trunk will be tagged into 1.0 tag, and later, when we need to build/deploy or review version 1.0 again, we will get the tag 1.0

SVN 目录结构

添加 SVN 作为代码管理工具,需预先填写 SVN 的远程仓库地址 (URL) 和证书 (credentials),其中的凭证一般选择 账户凭证 并填写账户信息。

流水线将扫描 SVN 上存在 Jenkinsfile 的分支然后触发该分支来运行流水线,添加 SVN 详见以下信息:

To add SVN as a code management tool, you need to pre-set the SVN's remote repository address (URL) and credentials.

The pipeline will scan the branch where Jenkinsfile exists on the SVN and then trigger the branch to run the pipeline. Refer to following information to add SVN as Source Code Management:

  • Type

    • Single SVN:If the Jenkinsfile is in the root directory and the pipeline will run based on the root directory, select Single SVN
    • SVN:You can select this type if the Jenkinsfile is in the folder of the root directory
  • Remote URL:The SVN server address, it should be accessable internally or externally.
  • Certificate:Same as Git,it requires create an account credential in advance.
  • Includes branch:Select which branches (directories) the pipeline will scan. For example, it will scan all files in these four branches shown in following screenshot
  • Excludes branch:Which branches (directories) will not be scanned