OpenShift CI/CD Operations: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(77 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Internal=
=Internal=


* [[OpenShift Operations#Subjects|OpenShift Subjects]]
* [[OpenShift Operations#Subjects|OpenShift Operations]]
* [[OpenShift CI/CD Concepts#Overview|OpenShift CI/CD Concepts]]


=Overview=
=End-to-End Procedures=


* [[OpenShift CI/CD Operations - Collocated Persistent Jenkins Set Up|Collocated Jenkins Deployment and Set Up]]
* [[CI/CD Infrastructure Setup]]


=Organizatorium=


oc new-project cicd --display-name="CI/CD pipeline with Jenkins"
{{Error|ALL THIS MUST BE REFACTORED}}
oc new-project cicd-dev --display-name="Dev project (openshift-tasks) to showcase CI/CD pipeline with Jenkins"
oc new-project cicd-stage --display-name="Stage project (openshift-tasks) to showcase CI/CD pipeline with Jenkins"


The Jenkins container must be able to access the OpenShift API:
=Resources=


oc policy add-role-to-user edit system:service account:cicd:default -n cicd
This is the memory consumption based on a test installation:
oc policy add-role-to-user edit system:service account:cicd:default -n cicd-dev
* jenkins/jenkins-jnlp pod: 880 MB
oc policy add-role-to-user edit system:service account:cicd:default -n cicd-stage
* nexus pod: 1.5 GB
* gogs pod: 140 MB
* gogs postgresql pod: 42 MB
* sonar pod: 2.0 GB
* sonar postgresql pod: 77 MB


=Set Up a CI/CD Pipeline=


oc project cicd


Instantiate components. Use templates. 'cicd-github-template.yaml'.


oc process -f https://raw.githubusercontent.com/OpenShiftDemos/openshift-cd-demo/master/cicd-github-template.yaml | oc create -f -


=Configure the Jenkins Pipeline with Pipeline Plug-In=


Inspect Nexus
New Item -> "hello-nodejs-pipeline" -> Pipeline -> OK


Inspect Jenkins
Pipeline -> Definition -> Pipeline script:
 
=Set up Continuous Delivery=
 
Set up a development, QA and production project.
 
<font color=red>TODO: Example: "Continuous Delivery Using OpenShift and Jenkins Pipeline Plug-in" 07 1 CD JEE Lab, Advanced Development on-line class.</font>
 
=Troubleshooting=
 
* [[OpenShift Jenkins fails to Communicate with Maven slaves]]

Latest revision as of 23:53, 8 December 2017

Internal

End-to-End Procedures



ALL THIS MUST BE REFACTORED

Resources

This is the memory consumption based on a test installation:

  • jenkins/jenkins-jnlp pod: 880 MB
  • nexus pod: 1.5 GB
  • gogs pod: 140 MB
  • gogs postgresql pod: 42 MB
  • sonar pod: 2.0 GB
  • sonar postgresql pod: 77 MB

Set Up a CI/CD Pipeline

Configure the Jenkins Pipeline with Pipeline Plug-In

New Item -> "hello-nodejs-pipeline" -> Pipeline -> OK

Pipeline -> Definition -> Pipeline script:

Set up Continuous Delivery

Set up a development, QA and production project.

TODO: Example: "Continuous Delivery Using OpenShift and Jenkins Pipeline Plug-in" 07 1 CD JEE Lab, Advanced Development on-line class.

Troubleshooting