Simple Automated CI/CD Pipeline for GitHub and GitLab Projects
This Git-Push-Deploy solution enables automatic delivery of updates within your Git application sources directly to the cloud. The package can be applied as an add-on to Java, PHP, Ruby, Node.js, Python and Go projects, run on top of the certified stack templates.
The workflow depends on the programming language used in your project:
for Java-based projects, the package initiates creation of separate environment with a Maven build node, which will be responsible for interaction with remote Git repository, triggering your application builds and their deployment to application server
for PHP/Ruby/Node.js/Python/Go apps, the package sets up a pipeline for project deployment directly to the ROOT context on a web server (consider that Ruby app servers are displayed with a deployment mode instead of a context within dashboard, though the actual project location is the same)
All related deployment operations are performed via Jelastic API. Herewith, if a server runs multiple containers, all of them will be restarted sequentially (with a 30-second delay by default) during the update to eliminate possible application downtime. Beside that, a special ZDT Deployment option is used for PHP applications, ensuring their constant availability even with a single application server node.
Before applying the package, please consider the following points:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.app</groupId>
<artifactId>my-app</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<build>
<finalName>${project.artifactId}</finalName>
</build>
</project>
To install the Git-Push-Deploy package, copy link to the manifest.jps file above and import it to your Jelastic dashboard.
Within the opened installation window, specify the following data:
Click Install and wait for Jelastic to configure CI/CD pipeline for your project. Once your application is deployed, all the further changes, committed to a source repository, will be automatically delivered to your environment inside Jelastic Cloud.
For more information on the package please refer to the article Git Push Deploy to Containers.