这是indexloc提供的服务,不要输入任何密码
Skip to content

halpind/tekton-cd-demo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CI/CD Demo with Tekton Pipelines

This repo is a sample Tekton pipeline that builds and deploys the Spring PetClinic sample Spring Boot application on OpenShift. This demo creates:

  • 3 namespaces for CI/CD, DEV and STAGE projects
  • A sample Tekton pipeline
  • Gogs git server (username/password: gogs/gogs)
  • Sonatype Nexus (username/password: admin/admin123)
  • SonarQube (username/password: admin/admin)
  • Report repository for test and project generated reports
  • Imports Spring PetClinic repository into Gogs git server
  • Adds a webhook to spring-petclinic repository in Gogs to start the Tekton pipeline

On every push to the spring-petclinic git repository on Gogs git server, the following steps are executed within the pipeline:

  1. Code is cloned from Gogs and the unit-tests are run
  2. Application is packaged as a JAR and pushed to Sonatype Nexus snapshot repository
  3. In parallel, the code is analyzed by SonarQube for anti-patterns, code coverage and potential bugs
  4. A container image (spring-petclinic:latest) is built using the Source-to-Image for Java apps, and pushed to OpenShift internal registry
  5. Application image is deployed with a rolling update

Pipeline Diagram

Deploy

  1. Get an OpenShift cluster via https://try.openshift.com

  2. Install OpenShift Pipelines Operator

  3. Download OpenShift CLI and Tekton CLI

  4. Deploy the demo

    $ oc new-project demo
    $ git clone https://github.com/siamaksade/tekton-cd-demo 
    $ demo.sh install
    
  5. Start the deploy pipeline by making a change in the spring-petclinic Git repository on Gogs, or run the following:

    $ demo.sh start
    
  6. Check pipeline run logs

    $ tkn pipeline logs petclinic-deploy-dev -f NAMESPACE
    

Pipelines in Dev Console

Pipeline Diagram

About

CI/CD demo with Tekton on OpenShift

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%