OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline

本实例是siamaksade在其github上的一个Tekton Pipeline演示示例,它是《OpenShift 4之实现一个基于Gogs+Nexus+Sonarqube的Jenkins CI/CD Pipeline》的Tekton升级版本。示例演示了Dev和Stage的CI/CD过程。在这个Tekton Pipeline中集成了Gogs、SonaQube、Nexus、Report等DevOps工具。
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第1张图片
主要的配置过程如下:

  1. 在OpenShift上安装OpenShift Pipeline Operator。
  2. 在客户机安装Tekon环境。
$ curl -L https://github.com/tektoncd/cli/releases/download/v0.8.0/tkn_0.8.0_Linux_x86_64.tar.gz | tar -xzf -
$ sudo mv tkn /usr/local/bin/
  1. 下载github项目,然后运行安装。
$ git clone https://github.com/siamaksade/tekton-cd-demo 
$ cd tekton-cd-demo 
$ demo.sh install --project-prefix <PREFIX>
 
。。。。
############################################################################
############################################################################
  Demo is installed! Give it a few minutes to finish deployments and then:
 
  1) Go to spring-petclinic Git repository in Gogs:
     http://gogs-tkn-cicd.apps.cluster-beijing-0f11.beijing-0f11.example.opentlc.com/gogs/spring-petclinic.git
  2) Log into Gogs with username/password: gogs/gogs
  3) Edit a file in the repository and commit to trigger the pipeline
  4) Check the pipeline run logs in Dev Console or Tekton CLI:
    $ tkn pipeline logs petclinic-deploy-dev -f -n tkn-cicd
 
  You can find further details at:
  PipelineRun Reports: http://reports-repo-tkn-cicd.apps.cluster-beijing-0f11.beijing-0f11.example.opentlc.com
  SonarQube: http://sonarqube-tkn-cicd.apps.cluster-beijing-0f11.beijing-0f11.example.opentlc.com
  Sonatype Nexus: http://nexus-tkn-cicd.apps.cluster-beijing-0f11.beijing-0f11.example.opentlc.com
############################################################################
############################################################################
  1. 在安装完后,在OpenShift控制台的Develoer视图中查看PREFIX-cicd项目的Topology包括以下部署对象。
    OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第2张图片
    说明:在我安装的时候曾出现gogs部署找不到gogs-config的情况,可以无需删除资源再次执行一次安装。

  2. 根据以上提示用对应用户访问Gogs、Nexue、SonaQube、Reports地址。
    其中Gogs上有两个Repo,其中一个是petclinic应用的源码,另一个是OpenShift的部署YAML文件。
    OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第3张图片
    并且spring-petclinic的Repo已经自动配置好了Webhook。
    OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第4张图片

  3. 运行pipeline,然后在OpenShift控制台的PREFIX-cicd项目中查看Pipeline运行情况。

$ demo.sh start

Pipeline 运行列表
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第5张图片
Pipeline 运行的Task
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第6张图片
Pipeline 运行日志
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第7张图片
7. 在Pipeline完成后查看Gogs、Nexue、SonaQube、Reports结果。
Report中的性能报告
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第8张图片
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第9张图片
8. 在PREFIX-dev项目中访问petclinic应用。
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第10张图片
9. 在Gogs中修改下图路径中的messages.properties文件内容,将welcome设为“Welcome Pet Clinic”,然后点击“Commit Changes”。
OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第11张图片
10. 确认OpenShift启动新的Pipeline Run。在运行结束后查看应用已经被更新。

  1. 在PREFIX-cicd项目中手动Strat名为petclinic-deploy-stage的Pipeline,然后在弹出窗口提供以下配置参数。
    OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第12张图片

  2. 在Pipeline完成执行。
    OpenShift 4 Tekton (4) - Tekton实现包含Gogs+SonaQube+Nexus+Report+WebHook的Pipeline_第13张图片

  3. 在PREFIX-stage项目查看部署的应用。

你可能感兴趣的:(pipeline,CICD,Tekton)