From 2a01dc8ac25fe90a7ef0e4ae88cfbcd67619981c Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 17:17:40 +0800 Subject: [PATCH] Update sig devops pipeline overview --- .../sig-devops/devops-pipeline-overview.md | 53 ++++++++----------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md b/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md index ab332df8f..c55325987 100644 --- a/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md +++ b/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md @@ -1,38 +1,33 @@ # KubeSphere DevOps Pipeline Overview -KubeSphere DevOps Pipeline is aimed to meet the complex CI/CD requirements on Kubernetes. - -With the KubeSphere DevOps Pipeline, you can quickly construct a complete CI/CD workflow and architecture by manipulating with the KubeSphere console. - +KubeSphere DevOps Pipeline aims to meet the complex CI/CD requirements on Kubernetes. With the KubeSphere DevOps Pipeline, you can quickly construct a complete CI/CD workflow via the KubeSphere console. ## DevOps Pipeline Capabilities -* Build, Deploy, Launch services in Kubernetes +* Build, deploy, launch services in Kubernetes * Use Kubernetes dynamic agent to release the ability of Kubernetes to dynamically expand -* In SCM Pipeline and Out of SCM Pipeline -* Easy-to-use graphical pipeline editing panel +* Support In SCM Pipeline and Out of SCM Pipeline +* Easy-to-use graphical pipeline editing panel * Multi-tenant isolation - ### DevOps Pipeline API -The KubeSphere DevOps Pipeline API will encapsulate the following APIs to provide a standardized REST API: +The KubeSphere DevOps Pipeline API encapsulates the following APIs to provide a standardized REST API: -- Jenkins Core API -- Jenkins BlueOcean API -- Sonarqube API -- Other Plugins API +* Jenkins Core API +* Jenkins BlueOcean API +* Sonarqube API +* Other Plugins API -KubeSphere apiserver will provide multi-tenant API, pipeline API, credential API, code quality analysis API, etc. +KubeSphere apiserver provides multi-tenant API, pipeline API, credential API, code quality analysis API, etc. ![ks-devops-api](../../images/devops-api.png) - ### Multi-tenant isolation -In the current version (v2.1.0), multi-tenancy in the DevOps part is done with the ability of the [role-strategy-plugin](https://github.com/jenkinsci/role-strategy-plugin) plugin. KubeSphere will automatically synchronize permission rules in this plugin. +In the versions (v2.1.x), multi-tenancy in the DevOps part is done with the ability of the [role-strategy-plugin](https://github.com/jenkinsci/role-strategy-plugin). KubeSphere automatically synchronizes permission rules in this plugin. -In the future, KubeSphere DevOps will authentication based on [OPA](https://www.openpolicyagent.org/). +In the future, KubeSphere DevOps will authenticate based on [OPA](https://www.openpolicyagent.org/). ### Integration with Jenkins @@ -40,34 +35,32 @@ KubeSphere integrates with standard Jenkins, customizing plugins and configurati #### Distribution of plugins -To meet the needs of users in private cloud environments, KubeSphere uses the built-in nginx as a jenkins update center. The jenkins update center is provided as a Docker image + [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins-update-center). +To meet the needs of users in private cloud environments, KubeSphere uses the built-in Nginx as a Jenkins update center which is provided as a Docker image + [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins-update-center). #### Jenkins configuration -KubeSphere uses Docker Image, Jenkins update Center and Helm Chart to distribute Jenkins。 +KubeSphere uses Docker Image, Jenkins update Center and Helm Chart to distribute Jenkins. -The list of plugins and configuration required by Jenkins will be provided by [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins). +The list of plugins and configuration required by Jenkins are provided by [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins). We use [Groovy Script](https://wiki.jenkins.io/display/JENKINS/Groovy+Hook+Script) and [JCasC](https://github.com/jenkinsci/configuration-as-code-plugin) to initialize Jenkins. +### Pipeline Builder Image and Jenkins PodTemplate -### Pipeline Builder Image And Jenkins PodTemplate +Jenkins does not include any agent configuration by default. KubeSphere provides some default agents including docker image and podTemplate configuration. -Jenkins does not include any agent configuration by default, KubeSphere provides some default agents (including docker image and podTemplate configuration). +The default agent image is built based on the [builder base](https://github.com/kubesphere/builder-base). You can search the keyword of repository `builder xxx` in KubeSphere [GitHub](https://github.com/kubesphere/). -The default agent image will be built based on the [builder base](https://github.com/kubesphere/builder-base), you can search the keyword of repository `builder xxx` in KubeSphere [github](https://github.com/kubesphere/). +### In SCM Pipeline and Out of SCM Pipeline -### In SCM Pipeline and Out of SCM Pipeline +KubeSphere's pipeline syntax is fully compatible with Jenkins' pipeline syntax. Jenkinsfile found in SCM is supported with Jenkins plugin. -KubeSphere's pipeline syntax will be fully compatible with Jenkins' pipeline syntax. Jenkinsfile found in SCM will be supported with Jenkins plugin. - -We will provide a plug-in SCM API, allowing users to graphically edit Jenkinsfile, Dockerfile and other configurations in SCM on KubeSphere. +We provide a plug-in SCM API, allowing users to graphically edit Jenkinsfile, Dockerfile and other configurations in SCM on KubeSphere. ### Sonarqube Integration -KubeSphere will retrieve Jenkins pipelines that have performed Sonarqube code analysis. And provide API to access analysis report. - +KubeSphere retrieves Jenkins pipelines that have performed Sonarqube code analysis, and provides APIs to access analysis report. ### More -If you have more questions, you can create an issue on [github](https://github.com/kubesphere/kubesphere) +If you have more questions, you can create an issue on [GitHub](https://github.com/kubesphere/kubesphere).