How can I deploy Java VCS with Maven?

Maven is a build automation and software comprehension tool, which is primarily used for Java programming. With Cloudjiffy PaaS I can add any public or private project directly from the 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, l can add private or public Java application from a remote VCS repository directly to the Maven node and deploy this project to my Cloudjiffy environment.

Tip: Before proceeding to the deployment, I need to add my project to the Deployment Manager. As an example, I 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.

Add Project to Maven

I 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, I need to fill in the required fields:

  • Name - sets a name for my 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 my 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, I 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, my project will appear in the Maven node Projects list. Here, upon hovering over and clicking the appropriate button, I 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.

Was this article helpful?

mood_bad Dislike 0
mood Like 0
visibility Views: 8552