The UCP XL Deploy plugin enables the creation of objects through UCP.
- This is a first-steps beta version
- The plugin automatically handles session tokens, so provide just a username and password in the UCP instance configuration
- The user must have permission to generate session tokens, and also carry out any operations that XL Deploy will execute (such as service creation and deletion)
- To enable easy connection with sandbox/test UCP instances, SSL certificate verifications are skipped. To resume strict checking of SSL certificates change http_request.py from:
sslContext = SSLContextBuilder.create().loadTrustMaterial(TrustSelfSignedStrategy()).build()
allowAllHosts = NoopHostnameVerifier()
connectionFactory = SSLConnectionSocketFactory(sslContext, allowAllHosts)
client = HttpClients.custom().setSSLSocketFactory(connectionFactory).build()
to
client = HttpClients.createDefault()
The example use case below combines the XL Platform with Docker EE systems.
Since Kubernetes and Swarm use a declarative model for application deployments, upgrade deployments are handled simply by removing the object spec and replacing it with the new one.
The XL Deploy Kubernetes plugin and Docker plugin enable direct control of Swarm and Kubernetes objects.
The gradle wrapper facilitates building the plugin. Use the following command to build using Gradle:
./gradlew clean build
The built plugin, along with other files from the build, can then be found in the build folder.
For the latest instructions on installing XL Deploy plugins, consult the associated documentation on docs.xebialabs.com.
Create a new infrastructure container in the Library. The path is ucp > instance. The "common" section is probably the only place where properties need to be changed. UCP requires HTTPS communication. Provide the https:// protocol in the URL. Keys/tokens should not be used in the configuration - only a username and password which will then be used to fetch session tokens.
Deployment packages can contain Swarm Service Specs (ucp>swarm>ServiceSpec) and Swarm Network Specs (ucp>swarm>NetworkSpec). Service Port Specs (ucp>swarm>ServicePortSpec) are handled as an embedded deployable under ServiceSpec.
The configuration items for this plugin:
- Docker Swarm Services (type ucp.swarm.Service)
- Docker Swarm Service Ports (type ucp.swarm.ServicePort)
- Docker Swarm Networks (type ucp.swarm.Network)
Please review the contributing guidelines for xebialabs-community at http://xebialabs-community.github.io/
This community plugin is licensed under the MIT license.
See license in LICENSE.md