Giter Site home page Giter Site logo

git-push-deploy's Introduction

Simple Automated CI/CD Pipeline for Git 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.

git-push-deploy-pipeline

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.

Requirements

Before applying the package, please consider the following points:

  • The solution is proven for use with GitHub and GitLab repositories
  • For a proper package installation, some preliminary Git repository configurations are required:
    • generated and remembered Personal Access Token that corresponds to your GitHub or GitLab account
    • for integration with Java-powered app, the appropriate repository root should contain a pom.xml file with the following content as an obligatory basis (where groupId, artifactId and version values are optional):
<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>

Deploy

How to Integrate Git-Push-Deploy Pipeline to Jelastic Environment

To install the Git-Push-Deploy package, copy link to the manifest.jps file above and import it to your Jelastic dashboard.

git-push-deploy-installation

Within the opened installation window, specify the following data:

  • Git Repo Url - HTTPS link to your application repo
  • Branch - a project branch to be used
  • User - your Git account login
  • Token - personal Git access token for webhook generation (can be created within GitHub/GitLab account settings)
  • Environment name - target environment your application should be deployed to
  • Nodes - application server name (is fetched automatically upon selecting the environment)

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.

git-push-deploy's People

Contributors

amoruga avatar arefox avatar dhuf avatar ihorman avatar lazarenkoalexey avatar siruslan avatar slavakatiukha avatar sych74 avatar vlobzakov avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.