{"id":13706510,"url":"https://github.com/jelastic-jps/git-push-deploy","last_synced_at":"2025-04-24T02:21:48.027Z","repository":{"id":10181857,"uuid":"63968348","full_name":"jelastic-jps/git-push-deploy","owner":"jelastic-jps","description":"Simple Automated CI/CD Pipeline for GitHub and GitLab Projects","archived":false,"fork":false,"pushed_at":"2024-07-12T07:11:19.000Z","size":1099,"stargazers_count":44,"open_issues_count":6,"forks_count":28,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-30T06:02:03.096Z","etag":null,"topics":["auto-deployment","auto-update","automatic-deployment","automation","cd-pipeline","ci-automation","ci-cd","continuous-delivery","continuous-deployment","continuous-integration","delivery-pipeline","git","git-addons","git-integrated","github","github-webhooks","gitlab-ci","gitlab-webhook","integration-tool","pipeline"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jelastic-jps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-22T16:38:05.000Z","updated_at":"2025-02-22T16:30:08.000Z","dependencies_parsed_at":"2024-07-12T08:33:31.663Z","dependency_job_id":"befdb4d5-a22f-4219-aa8e-1e13eb7133d4","html_url":"https://github.com/jelastic-jps/git-push-deploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fgit-push-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fgit-push-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fgit-push-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelastic-jps%2Fgit-push-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jelastic-jps","download_url":"https://codeload.github.com/jelastic-jps/git-push-deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250546363,"owners_count":21448313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto-deployment","auto-update","automatic-deployment","automation","cd-pipeline","ci-automation","ci-cd","continuous-delivery","continuous-deployment","continuous-integration","delivery-pipeline","git","git-addons","git-integrated","github","github-webhooks","gitlab-ci","gitlab-webhook","integration-tool","pipeline"],"created_at":"2024-08-02T22:00:58.531Z","updated_at":"2025-04-24T02:21:47.997Z","avatar_url":"https://github.com/jelastic-jps.png","language":"C#","funding_links":[],"categories":["C# #"],"sub_categories":[],"readme":"# Simple Automated CI/CD Pipeline for Git Projects\n\nThis 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](https://www.virtuozzo.com/application-platform-docs/software-stacks-versions/).\n\n![git-push-deploy-pipeline](images/git-push-deploy-pipeline.png)\n\nThe workflow depends on the programming language used in your project:\n\n- *for Java-based projects*, the package initiates creation of separate environment with a [Maven build node](https://www.virtuozzo.com/application-platform-docs/java-vcs-deployment/), which will be responsible for interaction with remote Git repository, triggering your application builds and their deployment to application server\n- *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) \n\nAll related deployment operations are performed via [Application Platfom API](https://www.virtuozzo.com/application-platform-api-docs/). 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](https://www.virtuozzo.com/application-platform-docs/php-zero-downtime-deploy/) option is used for PHP applications, ensuring their constant availability even with a single application server node.\n\n\n## Requirements\n\nBefore applying the package, please consider the following points:\n\n- The solution is proven for use with GitHub and GitLab repositories\n- For a proper package installation, some preliminary Git repository configurations are required: \n  - generated and remembered *Personal Access Token* that corresponds to your [GitHub](https://github.com/jelastic-jps/git-push-deploy/wiki/GitHub-Access-Token) or [GitLab](https://github.com/jelastic-jps/git-push-deploy/wiki/GitLab-Access-Token) account\n  - 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):\n\n```xml\n\u003cproject\u003e\n    \u003cmodelVersion\u003e4.0.0\u003c/modelVersion\u003e\n    \u003cgroupId\u003ecom.mycompany.app\u003c/groupId\u003e\n    \u003cartifactId\u003emy-app\u003c/artifactId\u003e\n    \u003cversion\u003e1.0\u003c/version\u003e\n    \u003cpackaging\u003ewar\u003c/packaging\u003e\n    \u003cbuild\u003e\n        \u003cfinalName\u003e${project.artifactId}\u003c/finalName\u003e\n    \u003c/build\u003e\n\u003c/project\u003e\n```\n\n[![Deploy to Cloud](images/deploy-to-cloud.png)](https://www.virtuozzo.com/install/?manifest=https://raw.githubusercontent.com/jelastic-jps/git-push-deploy/master/manifest.jps)\n\n\n## How to Integrate Git-Push-Deploy Pipeline to PaaS Environment  \n\nTo install the Git-Push-Deploy package, copy link to the **_manifest.jps_** file above and [import](https://www.virtuozzo.com/application-platform-docs/environment-import/) it to your application platform dashboard.\n\n![install git-push-deploy](images/install-git-push-deploy.png)\n\nWithin the opened installation window, specify the following data:\n\n- **_Git Repo Url_** - HTTPS link to your application repo\n- **_Branch_** - a project branch to be used\n- **_User_** - your Git account login\n- **_Token_** - personal Git access token for webhook generation (can be created within [GitHub](https://github.com/jelastic-jps/git-push-deploy/wiki/GitHub-Access-Token)/[GitLab](https://github.com/jelastic-jps/git-push-deploy/wiki/GitLab-Access-Token) account settings) \n- **_Environment name_** - target environment your application should be deployed to\n- **_Nodes_** - application server name (is fetched automatically upon selecting the environment)\n\nClick **Install** and wait for the platform 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.\n\nFor more information on the package please refer to the article [Git-Push-Deploy to Containers](https://www.virtuozzo.com/application-platform-docs/git-push-deploy/). \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelastic-jps%2Fgit-push-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjelastic-jps%2Fgit-push-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelastic-jps%2Fgit-push-deploy/lists"}