123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- apiVersion: template.openshift.io/v1
- kind: Template
- labels:
- app: jenkins-persistent
- template: jenkins-persistent-template
- message: A Jenkins service has been created in your project. Log into Jenkins with
- your OpenShift account. The tutorial at https://github.com/openshift/origin/blob/master/examples/jenkins/README.md
- contains more information about using this template.
- metadata:
- annotations:
- description: |-
- Jenkins service, with persistent storage.
- NOTE: You must have persistent volumes available in your cluster to use this template.
- iconClass: icon-jenkins
- openshift.io/display-name: Jenkins
- openshift.io/documentation-url: https://docs.openshift.org/latest/using_images/other_images/jenkins.html
- openshift.io/long-description: This template deploys a Jenkins server capable
- of managing OpenShift Pipeline builds and supporting OpenShift-based oauth login.
- openshift.io/provider-display-name: Red Hat, Inc.
- openshift.io/support-url: https://access.redhat.com
- tags: instant-app,jenkins
- creationTimestamp: 2018-10-29T09:47:50Z
- name: jenkins-persistent
- namespace: openshift
- resourceVersion: "8633"
- selfLink: /apis/template.openshift.io/v1/namespaces/openshift/templates/jenkins-persistent
- uid: b2f69cb5-db5f-11e8-b960-5254c6d5ae31
- objects:
- - apiVersion: v1
- kind: Route
- metadata:
- annotations:
- haproxy.router.openshift.io/timeout: 4m
- template.openshift.io/expose-uri: http://{.spec.host}{.spec.path}
- name: ${JENKINS_SERVICE_NAME}
- spec:
- tls:
- insecureEdgeTerminationPolicy: Redirect
- termination: edge
- to:
- kind: Service
- name: ${JENKINS_SERVICE_NAME}
- - apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: ${JENKINS_SERVICE_NAME}
- spec:
- accessModes:
- - ReadWriteOnce
- resources:
- requests:
- storage: ${VOLUME_CAPACITY}
- - apiVersion: v1
- kind: DeploymentConfig
- metadata:
- annotations:
- template.alpha.openshift.io/wait-for-ready: "true"
- name: ${JENKINS_SERVICE_NAME}
- spec:
- replicas: 1
- selector:
- name: ${JENKINS_SERVICE_NAME}
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- name: ${JENKINS_SERVICE_NAME}
- spec:
- containers:
- - capabilities: {}
- env:
- - name: OPENSHIFT_ENABLE_OAUTH
- value: ${ENABLE_OAUTH}
- - name: OPENSHIFT_ENABLE_REDIRECT_PROMPT
- value: "true"
- - name: KUBERNETES_MASTER
- value: https://kubernetes.default:443
- - name: KUBERNETES_TRUST_CERTIFICATES
- value: "true"
- - name: JENKINS_SERVICE_NAME
- value: ${JENKINS_SERVICE_NAME}
- - name: JNLP_SERVICE_NAME
- value: ${JNLP_SERVICE_NAME}
- image: ' '
- imagePullPolicy: IfNotPresent
- livenessProbe:
- failureThreshold: 2
- httpGet:
- path: /login
- port: 8080
- initialDelaySeconds: 420
- periodSeconds: 360
- timeoutSeconds: 240
- name: jenkins
- readinessProbe:
- httpGet:
- path: /login
- port: 8080
- initialDelaySeconds: 3
- timeoutSeconds: 240
- resources:
- limits:
- memory: ${MEMORY_LIMIT}
- securityContext:
- capabilities: {}
- privileged: false
- terminationMessagePath: /dev/termination-log
- volumeMounts:
- - mountPath: /var/lib/jenkins
- name: ${JENKINS_SERVICE_NAME}-data
- dnsPolicy: ClusterFirst
- restartPolicy: Always
- serviceAccountName: ${JENKINS_SERVICE_NAME}
- volumes:
- - name: ${JENKINS_SERVICE_NAME}-data
- persistentVolumeClaim:
- claimName: ${JENKINS_SERVICE_NAME}
- triggers:
- - imageChangeParams:
- automatic: true
- containerNames:
- - jenkins
- from:
- kind: ImageStreamTag
- name: ${JENKINS_IMAGE_STREAM_TAG}
- namespace: ${NAMESPACE}
- lastTriggeredImage: ""
- type: ImageChange
- - type: ConfigChange
- - apiVersion: v1
- kind: ServiceAccount
- metadata:
- annotations:
- serviceaccounts.openshift.io/oauth-redirectreference.jenkins: '{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"${JENKINS_SERVICE_NAME}"}}'
- name: ${JENKINS_SERVICE_NAME}
- - apiVersion: v1
- groupNames: null
- kind: RoleBinding
- metadata:
- name: ${JENKINS_SERVICE_NAME}_edit
- roleRef:
- name: edit
- subjects:
- - kind: ServiceAccount
- name: ${JENKINS_SERVICE_NAME}
- - apiVersion: v1
- kind: Service
- metadata:
- name: ${JNLP_SERVICE_NAME}
- spec:
- ports:
- - name: agent
- nodePort: 0
- port: 50000
- protocol: TCP
- targetPort: 50000
- selector:
- name: ${JENKINS_SERVICE_NAME}
- sessionAffinity: None
- type: ClusterIP
- - apiVersion: v1
- kind: Service
- metadata:
- annotations:
- service.alpha.openshift.io/dependencies: '[{"name": "${JNLP_SERVICE_NAME}",
- "namespace": "", "kind": "Service"}]'
- service.openshift.io/infrastructure: "true"
- name: ${JENKINS_SERVICE_NAME}
- spec:
- ports:
- - name: web
- nodePort: 0
- port: 80
- protocol: TCP
- targetPort: 8080
- selector:
- name: ${JENKINS_SERVICE_NAME}
- sessionAffinity: None
- type: ClusterIP
- parameters:
- - description: The name of the OpenShift Service exposed for the Jenkins container.
- displayName: Jenkins Service Name
- name: JENKINS_SERVICE_NAME
- value: jenkins
- - description: The name of the service used for master/slave communication.
- displayName: Jenkins JNLP Service Name
- name: JNLP_SERVICE_NAME
- value: jenkins-jnlp
- - description: Whether to enable OAuth OpenShift integration. If false, the static
- account 'admin' will be initialized with the password 'password'.
- displayName: Enable OAuth in Jenkins
- name: ENABLE_OAUTH
- value: "true"
- - description: Maximum amount of memory the container can use.
- displayName: Memory Limit
- name: MEMORY_LIMIT
- value: 512Mi
- - description: Volume space available for data, e.g. 512Mi, 2Gi.
- displayName: Volume Capacity
- name: VOLUME_CAPACITY
- required: true
- value: 1Gi
- - description: The OpenShift Namespace where the Jenkins ImageStream resides.
- displayName: Jenkins ImageStream Namespace
- name: NAMESPACE
- value: openshift
- - description: Name of the ImageStreamTag to be used for the Jenkins image.
- displayName: Jenkins ImageStreamTag
- name: JENKINS_IMAGE_STREAM_TAG
- value: jenkins:2
|