Git-Push-Deploy Add-On

Git-Push-Deploy Add-On

The Git-Push-Deploy add-on creates a continuous-deployment workflow that automatically delivers committed source-code changes from a GitHub or GitLab repository to a platform application environment.

It is designed for frequent application updates where the operating system, application-server stack, and software dependencies remain unchanged. In these cases, updating only the application source is faster and simpler than redeploying the complete container image.

GitHub CI/CD deployment flow
A repository webhook starts application deployment after new code is pushed.

Git-Push-Deploy Specifics

The add-on supports GitHub and GitLab repositories and can deliver updates to certified application-server stacks for Java, PHP, Ruby, Node.js, and Python projects.

Java Projects A separate environment with a Maven build node is created. Maven communicates with the remote Git repository, builds the application, and deploys the generated package to the application server.
PHP, Ruby, Node.js, and Python The source code is delivered directly to the application server’s default ROOT deployment location.

ROOT Context Requirements

Important: Git-Push-Deploy works only with the default ROOT context on the application server.
  • An existing application deployed to the ROOT context is overwritten during add-on installation. Move it to a custom context first when it must be preserved.
  • The managed application must remain in the ROOT context for push-triggered updates to work.
  • Custom non-ROOT contexts are not supported.
  • Deploying the same repository to multiple contexts is not supported.

Generate a GitHub Access Token

The add-on needs a personal access token so it can create and manage the repository webhook used to trigger deployment.

1Open token settings

In GitHub, open Settings > Developer settings > Personal access tokens. Choose a classic or fine-grained token and click Generate new token.

Generate a GitHub personal access token
Open the GitHub token-generation page.

Classic Token

  • Note: Enter a clear token description.
  • Expiration: Select an appropriate validity period.
  • Scopes: Enable at least repo and admin:repo_hook.
GitHub classic token permissions
Minimum scopes for a classic GitHub token.

Fine-Grained Token

  • Provide a token name and optional description.
  • Select the resource owner.
  • Set the expiration date.
  • Select the required repository or repositories.
  • Allow read-and-write access for Webhooks.
  • Allow read access for Metadata and Contents.
GitHub fine-grained token permissions
Limit a fine-grained token to the required repository and permissions.

Generate the token, confirm the request, and copy its value immediately.

Copy generated GitHub token
Save the token securely because GitHub will not display it again.

Generate a GitLab Access Token

1Open Access Tokens

In GitLab account settings, open the Access Tokens section.

  • Enter an optional token name.
  • Select an expiry date or leave it blank when permitted.
  • Enable the api permission scope.
  • Click Create Personal Access Token.
  • Copy and store the generated value securely.
Generate a GitLab personal access token
Create a GitLab token with the API scope.

Install Git-Push-Deploy

1Open the Marketplace

Open the platform Marketplace and search for Git-Push-Deploy.

2Select the target environment

Choose the application environment that contains the certified application-server stack.

3Provide repository information

Enter the Git provider, repository URL, branch, account information, personal access token, and any language-specific deployment settings requested by the package.

4Install the package

Review the configuration and click Install. The package creates the required deployment pipeline and repository webhook.

For Java projects, the installation can also create and configure a dedicated Maven environment that performs the application build.

How Push Deployment Works

Developer pushes code
        |
        v
GitHub or GitLab webhook
        |
        v
Git-Push-Deploy pipeline
        |
        +-- Java: Maven build and package deployment
        |
        +-- PHP/Ruby/Node.js/Python: direct ROOT update
        |
        v
Updated application becomes available
  • A developer pushes a commit to the configured branch.
  • The repository webhook notifies the platform package.
  • The package starts the build or source-deployment process.
  • The application in the ROOT context is updated automatically.
  • The deployment result can be reviewed through platform tasks and logs.
Branch behaviour: Only pushes to the branch configured during installation should trigger the managed deployment workflow.

Manage or Remove the Integration

  • Review environment tasks and application logs when a deployment fails.
  • Check that the access token remains active and retains the required webhook and repository permissions.
  • Confirm that the repository webhook still points to the deployment endpoint created by the package.
  • Update or reinstall the add-on when changing repository, branch, token, or target environment.
  • Remove the Marketplace add-on and its repository webhook when continuous deployment is no longer required.
Use the minimum token permissions required for the integration, set an appropriate expiration date, and rotate the token according to your security policy.

What’s next?

  • Deployment Manager
  • Git & SVN Auto-Deploy
  • SSH Access to Git Repository
  • Deployment Hooks