Created
June 9, 2016 10:13
-
-
Save xcoulon/db4f5eed5706b48b03ce6991a2747e9f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"kind": "Template", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "pipelineproject", | |
"creationTimestamp": null, | |
"annotations": { | |
"description": "This example shows how to create a simple Java application in openshift origin v3", | |
"iconClass": "icon-jboss", | |
"tags": "instant-app,java,mysql" | |
} | |
}, | |
"objects": [ | |
{ | |
"kind": "BuildConfig", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "pipeline", | |
"creationTimestamp": null, | |
"labels": { | |
"name": "pipeline" | |
} | |
}, | |
"spec": { | |
"triggers": [ | |
{ | |
"type": "GitHub", | |
"github": { | |
"secret": "secret101" | |
} | |
}, | |
{ | |
"type": "Generic", | |
"generic": { | |
"secret": "secret101" | |
} | |
} | |
], | |
"source": { | |
"type": "Git", | |
"git": { | |
"uri": "${SOURCE_REPOSITORY_URL}" | |
} | |
}, | |
"strategy": { | |
"type": "JenkinsPipeline", | |
"jenkinsPipelineStrategy": { | |
"jenkinsfile": "node('agent') {\nstage 'build'\ndef builder = new com.openshift.jenkins.plugins.pipeline.OpenShiftBuilder(\"\", \"${NAME}\", \"pipelineproject\", \"\", \ | |
"\", \"\", \"\", \"true\", \"\", \"\")\nstep builder\nstage 'deploy'\ndef deployer = new com.openshift.jenkins.plugins.pipeline.OpenShiftDeployer(\"\",\"${NAME}\",\"pipelineproject\ | |
",\"\",\"\")\nstep deployer\n}" | |
} | |
} | |
} | |
}, | |
{ | |
"kind": "Service", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "${NAME}", | |
"creationTimestamp": null | |
}, | |
"spec": { | |
"ports": [ | |
{ | |
"name": "web", | |
"protocol": "TCP", | |
"port": 8080, | |
"targetPort": 8080, | |
"nodePort": 0 | |
} | |
], | |
"selector": { | |
"name": "${NAME}" | |
}, | |
"portalIP": "", | |
"type": "ClusterIP", | |
"sessionAffinity": "None" | |
} | |
}, | |
{ | |
"kind": "Route", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "${NAME}" | |
}, | |
"spec": { | |
"host": "${APPLICATION_DOMAIN}", | |
"to": { | |
"kind": "Service", | |
"name": "${NAME}" | |
}, | |
"tls": { | |
"termination": "edge", | |
"certificate": "-----BEGIN CERTIFICATE-----\nMIIDIjCCAgqgAwIBAgIBATANBgkqhkiG9w0BAQUFADCBoTELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkxHDAaBgNVBAoM | |
E0Rl\nZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0ExGjAYBgNVBAMMEXd3\ndy5leGFtcGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFtcGxlQGV4YW1wbGUu\nY29tMB4XDTE1MDExMjE0MTk0MVoXDTE2MDExMjE0MTk | |
0MVowfDEYMBYGA1UEAwwP\nd3d3LmV4YW1wbGUuY29tMQswCQYDVQQIDAJTQzELMAkGA1UEBhMCVVMxIjAgBgkq\nhkiG9w0BCQEWE2V4YW1wbGVAZXhhbXBsZS5jb20xEDAOBgNVBAoMB0V4YW1wbGUx\nEDAOBgNVBAsMB0V4YW1wbGUwgZ | |
8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMrv\ngu6ZTTefNN7jjiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm\n47VRx5Qrf/YLXmB2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1M\nmNrQUgZyQ | |
C6XIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAGjDTALMAkGA1UdEwQC\nMAAwDQYJKoZIhvcNAQEFBQADggEBAFCi7ZlkMnESvzlZCvv82Pq6S46AAOTPXdFd\nTMvrh12E1sdVALF1P1oYFJzG1EiZ5ezOx88fEDTW+Lxb9anw5/KJzwtWcf | |
supf1m\nV7J0D3qKzw5C1wjzYHh9/Pz7B1D0KthQRATQCfNf8s6bbFLaw/dmiIUhHLtIH5Qc\nyfrejTZbOSP77z8NOWir+BWWgIDDB2//3AkDIQvT20vmkZRhkqSdT7et4NmXOX/j\njhPti4b2Fie0LeuvgaOdKjCpQQNrYthZHXeVlOLRh | |
MTSk3qUczenkKTOhvP7IS9q\n+Dzv5hqgSfvMG392KWh5f8xXfJNs4W5KLbZyl901MeReiLrPH3w=\n-----END CERTIFICATE-----", | |
"key": "-----BEGIN PRIVATE KEY-----\nMIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAMrvgu6ZTTefNN7j\njiZbS/xvQjyXjYMN7oVXv76jbX8gjMOmg9m0xoVZZFAE4XyQDuCm47VRx5Qrf/YL\nXm | |
B2VtCFvB0AhXr5zSeWzPwaAPrjA4ebG+LUo24ziS8KqNxrFs1MmNrQUgZyQC6X\nIe1JHXc9t+JlL5UZyZQC1IfaJulDAgMBAAECgYEAnxOjEj/vrLNLMZE1Q9H7PZVF\nWdP/JQVNvQ7tCpZ3ZdjxHwkvf//aQnuxS5yX2Rnf37BS/TZu+TI | |
kK4373CfHomSx\nUTAn2FsLmOJljupgGcoeLx5K5nu7B7rY5L1NHvdpxZ4YjeISrRtEPvRakllENU5y\ngJE8c2eQOx08ZSRE4TkCQQD7dws2/FldqwdjJucYijsJVuUdoTqxP8gWL6bB251q\nelP2/a6W2elqOcWId28560jG9ZS3cuKvnm | |
u/4LG88vZFAkEAzphrH3673oTsHN+d\nuBd5uyrlnGjWjuiMKv2TPITZcWBjB8nJDSvLneHF59MYwejNNEof2tRjgFSdImFH\nmi995wJBAMtPjW6wiqRz0i41VuT9ZgwACJBzOdvzQJfHgSD9qgFb1CU/J/hpSRIM\nkYvrXK9MbvQFvG6x4 | |
VuyT1W8mpe1LK0CQAo8VPpffhFdRpF7psXLK/XQ/0VLkG3O\nKburipLyBg/u9ZkaL0Ley5zL5dFBjTV2Qkx367Ic2b0u9AYTCcgi2DsCQQD3zZ7B\nv7BOm7MkylKokY2MduFFXU0Bxg6pfZ7q3rvg8gqhUFbaMStPRYg6myiDiW/JfLhF\n | |
TcFT4touIo7oriFJ\n-----END PRIVATE KEY-----", | |
"caCertificate": "-----BEGIN CERTIFICATE-----\nMIIEFzCCAv+gAwIBAgIJALK1iUpF2VQLMA0GCSqGSIb3DQEBBQUAMIGhMQswCQYD\nVQQGEwJVUzELMAkGA1UECAwCU0MxFTATBgNVBAcMDERlZmF1bHQgQ2l0eT | |
EcMBoG\nA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEQMA4GA1UECwwHVGVzdCBDQTEaMBgG\nA1UEAwwRd3d3LmV4YW1wbGVjYS5jb20xIjAgBgkqhkiG9w0BCQEWE2V4YW1wbGVA\nZXhhbXBsZS5jb20wHhcNMTUwMTEyMTQxNTAxWhcNM | |
jUwMTA5MTQxNTAxWjCBoTEL\nMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlNDMRUwEwYDVQQHDAxEZWZhdWx0IENpdHkx\nHDAaBgNVBAoME0RlZmF1bHQgQ29tcGFueSBMdGQxEDAOBgNVBAsMB1Rlc3QgQ0Ex\nGjAYBgNVBAMMEXd3dy5leGFt | |
cGxlY2EuY29tMSIwIAYJKoZIhvcNAQkBFhNleGFt\ncGxlQGV4YW1wbGUuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nw2rK1J2NMtQj0KDug7g7HRKl5jbf0QMkMKyTU1fBtZ0cCzvsF4CqV11LK4BSVWaK\nrzkaXe9 | |
9IVJnH8KdOlDl5Dh/+cJ3xdkClSyeUT4zgb6CCBqg78ePp+nN11JKuJlV\nIG1qdJpB1J5O/kCLsGcTf7RS74MtqMFo96446Zvt7YaBhWPz6gDaO/TUzfrNcGLA\nEfHVXkvVWqb3gqXUztZyVex/gtP9FXQ7gxTvJml7UkmT0VAFjtZnCqmF | |
xpLZFZ15\n+qP9O7Q2MpsGUO/4vDAuYrKBeg1ZdPSi8gwqUP2qWsGd9MIWRv3thI2903BczDc7\nr8WaIbm37vYZAS9G56E4+wIDAQABo1AwTjAdBgNVHQ4EFgQUugLrSJshOBk5TSsU\nANs4+SmJUGwwHwYDVR0jBBgwFoAUugLrSJshOBk | |
5TSsUANs4+SmJUGwwDAYDVR0T\nBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAaMJ33zAMV4korHo5aPfayV3uHoYZ\n1ChzP3eSsF+FjoscpoNSKs91ZXZF6LquzoNezbfiihK4PYqgwVD2+O0/Ty7UjN4S\nqzFKVR4OS/6lCJ8YncxoFp | |
Tntbvjgojf1DEataKFUN196PAANc3yz8cWHF4uvjPv\nWkgFqbIjb+7D1YgglNyovXkRDlRZl0LD1OQ0ZWhd4Ge1qx8mmmanoBeYZ9+DgpFC\nj9tQAbS867yeOryNe7sEOIpXAAqK/DTu0hB6+ySsDfMo4piXCc2aA/eI2DCuw08e\nw17Dz | |
9WnupZjVdwTKzDhFgJZMLDqn37HQnT6EemLFqbcR0VPEnfyhDtZIQ==\n-----END CERTIFICATE-----" | |
} | |
} | |
}, | |
{ | |
"kind": "ImageStream", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "${NAME}" | |
}, | |
"annotations": { | |
"description": "Keeps track of changes in the application image" | |
}, | |
"spec": {}, | |
"status": { | |
"dockerImageRepository": "" | |
} | |
}, | |
{ | |
"kind": "BuildConfig", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "${NAME}", | |
"labels": { | |
"name": "${NAME}" | |
} | |
}, | |
"spec": { | |
"triggers": [ | |
{ | |
"type": "ImageChange" | |
}, | |
{ | |
"type": "ConfigChange" | |
}, | |
{ | |
"type": "GitHub", | |
"github": { | |
"secret": "${GITHUB_WEBHOOK_SECRET}" | |
} | |
}, | |
{ | |
"type": "Generic", | |
"generic": { | |
"secret": "${GENERIC_WEBHOOK_SECRET}" | |
} | |
} | |
], | |
"source": { | |
"type": "Git", | |
"git": { | |
"uri": "${SOURCE_REPOSITORY_URL}", | |
"ref": "${SOURCE_REPOSITORY_REF}" | |
}, | |
"contextDir": "${CONTEXT_DIR}" | |
}, | |
"strategy": { | |
"type": "Source", | |
"sourceStrategy": { | |
"from": { | |
"kind": "ImageStreamTag", | |
"namespace": "${NAMESPACE}", | |
"name": "jboss-eap64-openshift:1.3" | |
} | |
} | |
}, | |
"output": { | |
"to": { | |
"kind": "ImageStreamTag", | |
"name": "${NAME}:latest" | |
} | |
}, | |
"postCommit": { | |
"script": "" | |
} | |
} | |
}, | |
{ | |
"kind": "DeploymentConfig", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "${NAME}", | |
"creationTimestamp": null | |
}, | |
"spec": { | |
"strategy": { | |
"type": "Rolling", | |
"rollingParams": { | |
"updatePeriodSeconds": 1, | |
"intervalSeconds": 1, | |
"timeoutSeconds": 120, | |
"pre": { | |
"failurePolicy": "Abort", | |
"execNewPod": { | |
"command": [ | |
"/bin/true" | |
], | |
"env": [ | |
{ | |
"name": "CUSTOM_VAR1", | |
"value": "custom_value1" | |
} | |
], | |
"containerName": "${NAME}" | |
} | |
}, | |
"post": { | |
"failurePolicy": "Ignore", | |
"execNewPod": { | |
"command": [ | |
"/bin/false" | |
], | |
"env": [ | |
{ | |
"name": "CUSTOM_VAR2", | |
"value": "custom_value2" | |
} | |
], | |
"containerName": "${NAME}" | |
} | |
} | |
}, | |
"resources": {} | |
}, | |
"triggers": [ | |
{ | |
"type": "ImageChange", | |
"imageChangeParams": { | |
"automatic": true, | |
"containerNames": [ | |
"${NAME}" | |
], | |
"from": { | |
"kind": "ImageStreamTag", | |
"name": "${NAME}:latest" | |
} | |
} | |
} | |
], | |
"replicas": 1, | |
"selector": { | |
"name": "${NAME}" | |
}, | |
"template": { | |
"metadata": { | |
"creationTimestamp": null, | |
"labels": { | |
"name": "${NAME}" | |
} | |
}, | |
"spec": { | |
"containers": [ | |
{ | |
"name": "${NAME}", | |
"image": " ", | |
"ports": [ | |
{ | |
"containerPort": 8080, | |
"protocol": "TCP" | |
} | |
], | |
"env": [ | |
], | |
"resources": {}, | |
"terminationMessagePath": "/dev/termination-log", | |
"imagePullPolicy": "IfNotPresent", | |
"securityContext": { | |
"capabilities": {}, | |
"privileged": false | |
} | |
} | |
], | |
"restartPolicy": "Always", | |
"dnsPolicy": "ClusterFirst" | |
} | |
} | |
}, | |
"status": {} | |
}, | |
{ | |
"kind": "RoleBinding", | |
"apiVersion": "v1", | |
"metadata": { | |
"name": "default_edit" | |
}, | |
"groupNames": null, | |
"subjects": [ | |
{ | |
"kind": "ServiceAccount", | |
"name": "default" | |
} | |
], | |
"roleRef": { | |
"name": "edit" | |
} | |
} | |
], | |
"parameters": [ | |
{ | |
"name": "NAME", | |
"displayName": "Name", | |
"description": "The name assigned to all of the frontend objects defined in this template.", | |
"required": true, | |
"value": "kitchensink" | |
}, | |
{ | |
"name": "NAMESPACE", | |
"displayName": "Namespace", | |
"description": "The OpenShift Namespace where the ImageStream resides.", | |
"value": "openshift" | |
}, | |
{ | |
"name": "APPLICATION_DOMAIN", | |
"displayName": "Application Hostname", | |
"description": "The exposed hostname that will route to the service, if left blank a value will be defaulted.", | |
"value": "" | |
}, | |
{ | |
"name": "SOURCE_REPOSITORY_URL", | |
"displayName": "Git Repository URL", | |
"description": "The URL of the repository with your application source code.", | |
"value": "https://github.com/xcoulon/openshift-kitchensink-html5-mobile.git" | |
}, | |
{ | |
"name": "SOURCE_REPOSITORY_REF", | |
"displayName": "Git Reference", | |
"description": "Set this to a branch name, tag or other ref of your repository if you are not using the default branch." | |
}, | |
{ | |
"name": "CONTEXT_DIR", | |
"displayName": "Context Directory", | |
"description": "Set this to the relative path to your project if it is not in the root of your repository." | |
}, | |
{ | |
"name": "MEMORY_LIMIT", | |
"displayName": "Memory Limit", | |
"description": "Maximum amount of memory the Node.js container can use.", | |
"value": "512Mi" | |
} | |
], | |
"labels": { | |
"template": "application-template-stibuild" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment