Java VCS Deployment with Maven

Maven is a build automation and software comprehension tool, which is primarily used for Java programming. With Apiqcloud PaaS you can add any public or private project directly from your version control system (VCS) repository using the appropriate link type: httphttps or svn for SVN and githttphttps or ftp for Git. After addition, Java projects can be deployed to the appropriate application servers using the Maven build node.

Now, let’s see how you can add private or public Java application from a remote VCS repository directly to the Maven node and deploy this project to your Apiqcloud environment.

Tip: Before proceeding to the deployment, you need to add your project to the Deployment Manager. As an example, you can use the demo “Hello World” application from our GitHub repository (no authentication needed) - use the Clone or download button to get the required URL.

You can add Java project directly to the Maven build node.

1. Select the Add project button next to the Maven layer, node or the Projects line underneath:

2. In the opened dialog box, you need to fill in the required fields:

  • Name - sets a name for your project (no spaces and special symbols are allowed)
  • Repository - allows to select the Git / SVN project from Deployment Manager (or jump to its addition form)
  • Branch - defines the used repository branch (master by default)
  • Working Directory (optional) - provides relative path to the repository subdirectory with application source code
  • Deploy - chooses whether project should be just build on the Maven node (if unticked) or build and immediately deployed (if ticked); herewith, the letter option requires to fill into two additional fields:
    • Environment - selects a target environment with the application server (is automatically selected, when installing from application server)
    • Context - sets the desired custom context for the project (ROOT by default)
  • Hooks - applies the provided scripts either before or after build / deployment processes
  • Check and auto-deploy updates - enables periodical check ups for code changes in your repository (with configurable frequency); if any, project automatic deployment is initiated
  • Auto-resolve conflicts - prevents the occurrence of merge conflicts by updating the contradictory files to the repository version (i.e. locally made changes are discarded)

Tip: If initiating deployment from a Java application server, you may need to set some additional options:

  • Build - allows to select the existing Maven build node or add one into the target environment
  • Deploy Strategy (for deployments into scaled server) - allows to choose between relatively quicker Simultaneous deployment variant, which causes a brief downtime, and the Sequential deployment with delay option to perform deployment on servers one-by-one with a set delay between operations, which ensures application uptime

    Finally, select Add or Add + Build (Add + Deploy) at the bottom of the frame. The first option will just save the provided data as a project template (i.e. without performing any actual actions), allowing to easily execute build and deploy operations in a future.

    3. Now, your project will appear in the Maven node Projects list. Here, upon hovering over and clicking the appropriate button, you can call the following actions:

    • Build - downloads project from repository to Maven node (only if there were some changes since the last build) and prepares it for deployment

      Tip: The project created with this option can be automatically uploaded to the Deployment Manager as archive by ticking the Upload builds to Deployment Manager checkbox.

  • Build and Deploy - checks for changes and deploys project into the target environment (allows to choose between the Simultaneous deployment and Sequential deployment with delay options, if deploying into scaled server)

  • Edit project - opens a form to edit data specified in the project addition frame described in the previous step

  • Config - opens the build project folder within the configuration file manager

  • Log - opens the Log section for issues troubleshooting and analysis

  • Delete - removes this project from Maven
    These are GUI options available for Maven build node management, for additional tuning get acquainted with the Maven Configuration guide.

  • Java VCS Deployment with Maven
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

Share Environment

Share Environment A client who originally created an environment becomes its Owner and share...

Clone Environment

Cloning Environment Apiqcloud provides multiple environments in just a few clicks, like...

Create Environment

How to Create your Apiqcloud Environment Firstly,  you need to create an appropriate...

Environment Aliases

Environment Aliases To ease the process of management, creating alternative (alias) for an...

Enviornment Variables

Environment Variables: To store the values of the frequently used parameters environment...