Skip to content

Commit 67b51bf

Browse files
committed
disable jenkins auto-deployment
1 parent cd3a82a commit 67b51bf

15 files changed

+604
-348
lines changed

examples/jenkins/jenkins-ephemeral-template.json

Lines changed: 80 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
"name": "jenkins-ephemeral",
66
"creationTimestamp": null,
77
"annotations": {
8-
"description": "Jenkins service, without persistent storage.\nThe username is 'admin' and the tutorial at https://github.com/openshift/origin/blob/master/examples/jenkins/README.md contains more information about using this template.\nWARNING: Any data stored will be lost upon pod destruction. Only use this template for testing",
8+
"description": "Jenkins service, without persistent storage.\nWARNING: Any data stored will be lost upon pod destruction. Only use this template for testing",
99
"iconClass": "icon-jenkins",
1010
"tags": "instant-app,jenkins"
1111
}
1212
},
13-
"message": "A Jenkins service has been created in your project. The username/password are admin/${JENKINS_PASSWORD}.",
13+
"message": "A Jenkins service has been created in your project. The username/password are admin/${JENKINS_PASSWORD}. The tutorial at https://github.com/openshift/origin/blob/master/examples/jenkins/README.md contains more information about using this template.",
1414
"objects": [
1515
{
1616
"kind": "Route",
@@ -26,6 +26,7 @@
2626
},
2727
"tls": {
2828
"termination": "edge",
29+
"insecureEdgeTerminationPolicy": "Redirect",
2930
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0Rl\nZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0ExGjAYBgNVBAMMEXd3\ndy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQGV4YW1wbGUu\nY29tMB4XDTE1MDExMjE0MTk0MVoXDTE2MDExMjE0MTk0MVowfDEYMBYGA1UEAwwP\nd3d3LmV4YW1wbGUuY29tMQswCQYDVQQIDAJTQzELMAkGA1UEBhMCVVMxIjAgBgkq\nhkiG9w0BCQEWE2V4YW1wbGVAZXhhbXBsZS5jb20xEDAOBgNVBAoMB0V4YW1wbGUx\nEDAOBgNVBAsMB0V4YW1wbGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrv\ngu6ZTTefNN7jjiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm\n47VRx5Qrf/YLXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1M\nmNrQUgZyQC6XIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAGjDTALMAkGA1UdEwQC\nMAAwDQYJKoZIhvcNAQEFBQADggEBAFCi7ZlkMnESvzlZCvv82Pq6S46AAOTPXdFd\nTMvrh12E1sdVALF1P1oYFJzG1EiZ5ezOx88fEDTW+Lxb9anw5/KJzwtWcfsupf1m\nV7J0D3qKzw5C1wjzYHh9/Pz7B1D0KthQRATQCfNf8s6bbFLaw/dmiIUhHLtIH5Qc\nyfrejTZbOSP77z8NOWir+BWWgIDDB2//3AkDIQvT20vmkZRhkqSdT7et4NmXOX/j\njhPti4b2Fie0LeuvgaOdKjCpQQNrYthZHXeVlOLRhMTSk3qUczenkKTOhvP7IS9q\n+Dzv5hqgSfvMG392KWh5f8xXfJNs4W5KLbZyl901MeReiLrPH3w=\n-----END CERTIFICATE-----",
3031
"key": "-----BEGIN PRIVATE KEY-----\nMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMrvgu6ZTTefNN7j\njiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm47VRx5Qrf/YL\nXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1MmNrQUgZyQC6X\nIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAECgYEAnxOjEj/vrLNLMZE1Q9H7PZVF\nWdP/JQVNvQ7tCpZ3ZdjxHwkvf//aQnuxS5yX2Rnf37BS/TZu+TIkK4373CfHomSx\nUTAn2FsLmOJljupgGcoeLx5K5nu7B7rY5L1NHvdpxZ4YjeISrRtEPvRakllENU5y\ngJE8c2eQOx08ZSRE4TkCQQD7dws2/FldqwdjJucYijsJVuUdoTqxP8gWL6bB251q\nelP2/a6W2elqOcWId28560jG9ZS3cuKvnmu/4LG88vZFAkEAzphrH3673oTsHN+d\nuBd5uyrlnGjWjuiMKv2TPITZcWBjB8nJDSvLneHF59MYwejNNEof2tRjgFSdImFH\nmi995wJBAMtPjW6wiqRz0i41VuT9ZgwACJBzOdvzQJfHgSD9qgFb1CU/J/hpSRIM\nkYvrXK9MbvQFvG6x4VuyT1W8mpe1LK0CQAo8VPpffhFdRpF7psXLK/XQ/0VLkG3O\nKburipLyBg/u9ZkaL0Ley5zL5dFBjTV2Qkx367Ic2b0u9AYTCcgi2DsCQQD3zZ7B\nv7BOm7MkylKokY2MduFFXU0Bxg6pfZ7q3rvg8gqhUFbaMStPRYg6myiDiW/JfLhF\nTcFT4touIo7oriFJ\n-----END PRIVATE KEY-----",
3132
"caCertificate": "-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgIJALK1iUpF2VQLMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD\nVQQGEwJVUzELMAkGA1UECAwCU0MxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoG\nA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEQMA4GA1UECwwHVGVzdCBDQTEaMBgG\nA1UEAwwRd3d3LmV4YW1wbGVjYS5jb20xIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVA\nZXhhbXBsZS5jb20wHhcNMTUwMTEyMTQxNTAxWhcNMjUwMTA5MTQxNTAxWjCBoTEL\nMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkx\nHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0Ex\nGjAYBgNVBAMMEXd3dy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt\ncGxlQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nw2rK1J2NMtQj0KDug7g7HRKl5jbf0QMkMKyTU1fBtZ0cCzvsF4CqV11LK4BSVWaK\nrzkaXe99IVJnH8KdOlDl5Dh/+cJ3xdkClSyeUT4zgb6CCBqg78ePp+nN11JKuJlV\nIG1qdJpB1J5O/kCLsGcTf7RS74MtqMFo96446Zvt7YaBhWPz6gDaO/TUzfrNcGLA\nEfHVXkvVWqb3gqXUztZyVex/gtP9FXQ7gxTvJml7UkmT0VAFjtZnCqmFxpLZFZ15\n+qP9O7Q2MpsGUO/4vDAuYrKBeg1ZdPSi8gwqUP2qWsGd9MIWRv3thI2903BczDc7\nr8WaIbm37vYZAS9G56E4+wIDAQABo1AwTjAdBgNVHQ4EFgQUugLrSJshOBk5TSsU\nANs4+SmJUGwwHwYDVR0jBBgwFoAUugLrSJshOBk5TSsUANs4+SmJUGwwDAYDVR0T\nBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaMJ33zAMV4korHo5aPfayV3uHoYZ\n1ChzP3eSsF+FjoscpoNSKs91ZXZF6LquzoNezbfiihK4PYqgwVD2+O0/Ty7UjN4S\nqzFKVR4OS/6lCJ8YncxoFpTntbvjgojf1DEataKFUN196PAANc3yz8cWHF4uvjPv\nWkgFqbIjb+7D1YgglNyovXkRDlRZl0LD1OQ0ZWhd4Ge1qx8mmmanoBeYZ9+DgpFC\nj9tQAbS867yeOryNe7sEOIpXAAqK/DTu0hB6+ySsDfMo4piXCc2aA/eI2DCuw08e\nw17Dz9WnupZjVdwTKzDhFgJZMLDqn37HQnT6EemLFqbcR0VPEnfyhDtZIQ==\n-----END CERTIFICATE-----"
@@ -75,6 +76,7 @@
7576
}
7677
},
7778
"spec": {
79+
"serviceAccountName": "${JENKINS_SERVICE_NAME}",
7880
"containers": [
7981
{
8082
"name": "jenkins",
@@ -89,7 +91,7 @@
8991
},
9092
"livenessProbe": {
9193
"timeoutSeconds": 3,
92-
"initialDelaySeconds": 60,
94+
"initialDelaySeconds": 120,
9395
"httpGet": {
9496
"path": "/login",
9597
"port": 8080
@@ -99,6 +101,18 @@
99101
{
100102
"name": "JENKINS_PASSWORD",
101103
"value": "${JENKINS_PASSWORD}"
104+
},
105+
{
106+
"name": "KUBERNETES_MASTER",
107+
"value": "https://kubernetes.default:443"
108+
},
109+
{
110+
"name": "KUBERNETES_TRUST_CERTIFICATES",
111+
"value": "true"
112+
},
113+
{
114+
"name": "JNLP_SERVICE_NAME",
115+
"value": "${JNLP_SERVICE_NAME}"
102116
}
103117
],
104118
"resources": {
@@ -135,20 +149,43 @@
135149
}
136150
}
137151
},
152+
{
153+
"kind": "ServiceAccount",
154+
"apiVersion": "v1",
155+
"metadata": {
156+
"name": "${JENKINS_SERVICE_NAME}"
157+
}
158+
},
159+
{
160+
"kind": "RoleBinding",
161+
"apiVersion": "v1",
162+
"metadata": {
163+
"name": "${JENKINS_SERVICE_NAME}_edit"
164+
},
165+
"groupNames": null,
166+
"subjects": [
167+
{
168+
"kind": "ServiceAccount",
169+
"name": "${JENKINS_SERVICE_NAME}"
170+
}
171+
],
172+
"roleRef": {
173+
"name": "edit"
174+
}
175+
},
138176
{
139177
"kind": "Service",
140178
"apiVersion": "v1",
141179
"metadata": {
142-
"name": "${JENKINS_SERVICE_NAME}",
143-
"creationTimestamp": null
180+
"name": "${JNLP_SERVICE_NAME}"
144181
},
145182
"spec": {
146183
"ports": [
147184
{
148-
"name": "web",
185+
"name": "agent",
149186
"protocol": "TCP",
150-
"port": 8080,
151-
"targetPort": 8080,
187+
"port": 50000,
188+
"targetPort": 50000,
152189
"nodePort": 0
153190
}
154191
],
@@ -159,6 +196,35 @@
159196
"type": "ClusterIP",
160197
"sessionAffinity": "None"
161198
}
199+
},
200+
{
201+
"kind": "Service",
202+
"apiVersion": "v1",
203+
"metadata": {
204+
"name": "${JENKINS_SERVICE_NAME}",
205+
"annotations": {
206+
"service.alpha.openshift.io/dependencies": "[{\"name\": \"${JNLP_SERVICE_NAME}\", \"namespace\": \"\", \"kind\": \"Service\"}]",
207+
"service.openshift.io/infrastructure": "true"
208+
},
209+
"creationTimestamp": null
210+
},
211+
"spec": {
212+
"ports": [
213+
{
214+
"name": "web",
215+
"protocol": "TCP",
216+
"port": 80,
217+
"targetPort": 8080,
218+
"nodePort": 0
219+
}
220+
],
221+
"selector": {
222+
"name": "${JENKINS_SERVICE_NAME}"
223+
},
224+
"portalIP": "",
225+
"type": "ClusterIP",
226+
"sessionAffinity": "None"
227+
}
162228
}
163229
],
164230
"parameters": [
@@ -168,6 +234,12 @@
168234
"description": "The name of the OpenShift Service exposed for the Jenkins container.",
169235
"value": "jenkins"
170236
},
237+
{
238+
"name": "JNLP_SERVICE_NAME",
239+
"displayName": "Jenkins JNLP Service Name",
240+
"description": "The name of the service used for master/slave communication.",
241+
"value": "jenkins-jnlp"
242+
},
171243
{
172244
"name": "JENKINS_PASSWORD",
173245
"displayName": "Jenkins Password",

examples/jenkins/jenkins-persistent-template.json

Lines changed: 80 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
"name": "jenkins-persistent",
66
"creationTimestamp": null,
77
"annotations": {
8-
"description": "Jenkins service, with persistent storage.\nThe username is 'admin' and the tutorial at https://github.com/openshift/origin/blob/master/examples/jenkins/README.md contains more information about using this template.\nYou must have persistent volumes available in your cluster to use this template.",
8+
"description": "Jenkins service, with persistent storage.\nYou must have persistent volumes available in your cluster to use this template.",
99
"iconClass": "icon-jenkins",
1010
"tags": "instant-app,jenkins"
1111
}
1212
},
13-
"message": "A Jenkins service has been created in your project. The username/password are admin/${JENKINS_PASSWORD}.",
13+
"message": "A Jenkins service has been created in your project. The username/password are admin/${JENKINS_PASSWORD}. The tutorial at https://github.com/openshift/origin/blob/master/examples/jenkins/README.md contains more information about using this template.",
1414
"objects": [
1515
{
1616
"kind": "Route",
@@ -26,6 +26,7 @@
2626
},
2727
"tls": {
2828
"termination": "edge",
29+
"insecureEdgeTerminationPolicy": "Redirect",
2930
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoME0Rl\nZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0ExGjAYBgNVBAMMEXd3\ndy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQGV4YW1wbGUu\nY29tMB4XDTE1MDExMjE0MTk0MVoXDTE2MDExMjE0MTk0MVowfDEYMBYGA1UEAwwP\nd3d3LmV4YW1wbGUuY29tMQswCQYDVQQIDAJTQzELMAkGA1UEBhMCVVMxIjAgBgkq\nhkiG9w0BCQEWE2V4YW1wbGVAZXhhbXBsZS5jb20xEDAOBgNVBAoMB0V4YW1wbGUx\nEDAOBgNVBAsMB0V4YW1wbGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrv\ngu6ZTTefNN7jjiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm\n47VRx5Qrf/YLXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1M\nmNrQUgZyQC6XIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAGjDTALMAkGA1UdEwQC\nMAAwDQYJKoZIhvcNAQEFBQADggEBAFCi7ZlkMnESvzlZCvv82Pq6S46AAOTPXdFd\nTMvrh12E1sdVALF1P1oYFJzG1EiZ5ezOx88fEDTW+Lxb9anw5/KJzwtWcfsupf1m\nV7J0D3qKzw5C1wjzYHh9/Pz7B1D0KthQRATQCfNf8s6bbFLaw/dmiIUhHLtIH5Qc\nyfrejTZbOSP77z8NOWir+BWWgIDDB2//3AkDIQvT20vmkZRhkqSdT7et4NmXOX/j\njhPti4b2Fie0LeuvgaOdKjCpQQNrYthZHXeVlOLRhMTSk3qUczenkKTOhvP7IS9q\n+Dzv5hqgSfvMG392KWh5f8xXfJNs4W5KLbZyl901MeReiLrPH3w=\n-----END CERTIFICATE-----",
3031
"key": "-----BEGIN PRIVATE KEY-----\nMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMrvgu6ZTTefNN7j\njiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm47VRx5Qrf/YL\nXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1MmNrQUgZyQC6X\nIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAECgYEAnxOjEj/vrLNLMZE1Q9H7PZVF\nWdP/JQVNvQ7tCpZ3ZdjxHwkvf//aQnuxS5yX2Rnf37BS/TZu+TIkK4373CfHomSx\nUTAn2FsLmOJljupgGcoeLx5K5nu7B7rY5L1NHvdpxZ4YjeISrRtEPvRakllENU5y\ngJE8c2eQOx08ZSRE4TkCQQD7dws2/FldqwdjJucYijsJVuUdoTqxP8gWL6bB251q\nelP2/a6W2elqOcWId28560jG9ZS3cuKvnmu/4LG88vZFAkEAzphrH3673oTsHN+d\nuBd5uyrlnGjWjuiMKv2TPITZcWBjB8nJDSvLneHF59MYwejNNEof2tRjgFSdImFH\nmi995wJBAMtPjW6wiqRz0i41VuT9ZgwACJBzOdvzQJfHgSD9qgFb1CU/J/hpSRIM\nkYvrXK9MbvQFvG6x4VuyT1W8mpe1LK0CQAo8VPpffhFdRpF7psXLK/XQ/0VLkG3O\nKburipLyBg/u9ZkaL0Ley5zL5dFBjTV2Qkx367Ic2b0u9AYTCcgi2DsCQQD3zZ7B\nv7BOm7MkylKokY2MduFFXU0Bxg6pfZ7q3rvg8gqhUFbaMStPRYg6myiDiW/JfLhF\nTcFT4touIo7oriFJ\n-----END PRIVATE KEY-----",
3132
"caCertificate": "-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgIJALK1iUpF2VQLMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD\nVQQGEwJVUzELMAkGA1UECAwCU0MxFTATBgNVBAcMDERlZmF1bHQgQ2l0eTEcMBoG\nA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEQMA4GA1UECwwHVGVzdCBDQTEaMBgG\nA1UEAwwRd3d3LmV4YW1wbGVjYS5jb20xIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVA\nZXhhbXBsZS5jb20wHhcNMTUwMTEyMTQxNTAxWhcNMjUwMTA5MTQxNTAxWjCBoTEL\nMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkx\nHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0Ex\nGjAYBgNVBAMMEXd3dy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt\ncGxlQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nw2rK1J2NMtQj0KDug7g7HRKl5jbf0QMkMKyTU1fBtZ0cCzvsF4CqV11LK4BSVWaK\nrzkaXe99IVJnH8KdOlDl5Dh/+cJ3xdkClSyeUT4zgb6CCBqg78ePp+nN11JKuJlV\nIG1qdJpB1J5O/kCLsGcTf7RS74MtqMFo96446Zvt7YaBhWPz6gDaO/TUzfrNcGLA\nEfHVXkvVWqb3gqXUztZyVex/gtP9FXQ7gxTvJml7UkmT0VAFjtZnCqmFxpLZFZ15\n+qP9O7Q2MpsGUO/4vDAuYrKBeg1ZdPSi8gwqUP2qWsGd9MIWRv3thI2903BczDc7\nr8WaIbm37vYZAS9G56E4+wIDAQABo1AwTjAdBgNVHQ4EFgQUugLrSJshOBk5TSsU\nANs4+SmJUGwwHwYDVR0jBBgwFoAUugLrSJshOBk5TSsUANs4+SmJUGwwDAYDVR0T\nBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaMJ33zAMV4korHo5aPfayV3uHoYZ\n1ChzP3eSsF+FjoscpoNSKs91ZXZF6LquzoNezbfiihK4PYqgwVD2+O0/Ty7UjN4S\nqzFKVR4OS/6lCJ8YncxoFpTntbvjgojf1DEataKFUN196PAANc3yz8cWHF4uvjPv\nWkgFqbIjb+7D1YgglNyovXkRDlRZl0LD1OQ0ZWhd4Ge1qx8mmmanoBeYZ9+DgpFC\nj9tQAbS867yeOryNe7sEOIpXAAqK/DTu0hB6+ySsDfMo4piXCc2aA/eI2DCuw08e\nw17Dz9WnupZjVdwTKzDhFgJZMLDqn37HQnT6EemLFqbcR0VPEnfyhDtZIQ==\n-----END CERTIFICATE-----"
@@ -92,6 +93,7 @@
9293
}
9394
},
9495
"spec": {
96+
"serviceAccountName": "${JENKINS_SERVICE_NAME}",
9597
"containers": [
9698
{
9799
"name": "jenkins",
@@ -106,7 +108,7 @@
106108
},
107109
"livenessProbe": {
108110
"timeoutSeconds": 3,
109-
"initialDelaySeconds": 60,
111+
"initialDelaySeconds": 120,
110112
"httpGet": {
111113
"path": "/login",
112114
"port": 8080
@@ -116,6 +118,18 @@
116118
{
117119
"name": "JENKINS_PASSWORD",
118120
"value": "${JENKINS_PASSWORD}"
121+
},
122+
{
123+
"name": "KUBERNETES_MASTER",
124+
"value": "https://kubernetes.default:443"
125+
},
126+
{
127+
"name": "KUBERNETES_TRUST_CERTIFICATES",
128+
"value": "true"
129+
},
130+
{
131+
"name": "JNLP_SERVICE_NAME",
132+
"value": "${JNLP_SERVICE_NAME}"
119133
}
120134
],
121135
"resources": {
@@ -152,20 +166,43 @@
152166
}
153167
}
154168
},
169+
{
170+
"kind": "ServiceAccount",
171+
"apiVersion": "v1",
172+
"metadata": {
173+
"name": "${JENKINS_SERVICE_NAME}"
174+
}
175+
},
176+
{
177+
"kind": "RoleBinding",
178+
"apiVersion": "v1",
179+
"metadata": {
180+
"name": "${JENKINS_SERVICE_NAME}_edit"
181+
},
182+
"groupNames": null,
183+
"subjects": [
184+
{
185+
"kind": "ServiceAccount",
186+
"name": "${JENKINS_SERVICE_NAME}"
187+
}
188+
],
189+
"roleRef": {
190+
"name": "edit"
191+
}
192+
},
155193
{
156194
"kind": "Service",
157195
"apiVersion": "v1",
158196
"metadata": {
159-
"name": "${JENKINS_SERVICE_NAME}",
160-
"creationTimestamp": null
197+
"name": "${JNLP_SERVICE_NAME}"
161198
},
162199
"spec": {
163200
"ports": [
164201
{
165-
"name": "web",
202+
"name": "agent",
166203
"protocol": "TCP",
167-
"port": 8080,
168-
"targetPort": 8080,
204+
"port": 50000,
205+
"targetPort": 50000,
169206
"nodePort": 0
170207
}
171208
],
@@ -176,6 +213,35 @@
176213
"type": "ClusterIP",
177214
"sessionAffinity": "None"
178215
}
216+
},
217+
{
218+
"kind": "Service",
219+
"apiVersion": "v1",
220+
"metadata": {
221+
"name": "${JENKINS_SERVICE_NAME}",
222+
"annotations": {
223+
"service.alpha.openshift.io/dependencies": "[{\"name\": \"${JNLP_SERVICE_NAME}\", \"namespace\": \"\", \"kind\": \"Service\"}]",
224+
"service.openshift.io/infrastructure": "true"
225+
},
226+
"creationTimestamp": null
227+
},
228+
"spec": {
229+
"ports": [
230+
{
231+
"name": "web",
232+
"protocol": "TCP",
233+
"port": 80,
234+
"targetPort": 8080,
235+
"nodePort": 0
236+
}
237+
],
238+
"selector": {
239+
"name": "${JENKINS_SERVICE_NAME}"
240+
},
241+
"portalIP": "",
242+
"type": "ClusterIP",
243+
"sessionAffinity": "None"
244+
}
179245
}
180246
],
181247
"parameters": [
@@ -185,6 +251,12 @@
185251
"description": "The name of the OpenShift Service exposed for the Jenkins container.",
186252
"value": "jenkins"
187253
},
254+
{
255+
"name": "JNLP_SERVICE_NAME",
256+
"displayName": "Jenkins JNLP Service Name",
257+
"description": "The name of the service used for master/slave communication.",
258+
"value": "jenkins-jnlp"
259+
},
188260
{
189261
"name": "JENKINS_PASSWORD",
190262
"displayName": "Jenkins Password",

0 commit comments

Comments
 (0)