Skip to content

Latest commit

 

History

History
73 lines (46 loc) · 2.82 KB

Build-deploy.md

File metadata and controls

73 lines (46 loc) · 2.82 KB

The project is built with Maven, producing a war file.

mvn clean package

##Build dependencies: To run Maven, we need:

  • a recent JDK (>=6)
  • Maven
  • NodeJS: apt-get install nodejs (or nodejs-legacy, depending on os version). Make sure that "node --version" returns something > 0.10.10
  • ruby: apt-get install ruby
  • compass: apt-get install ruby-compass
  • bower: npm install -g bower
  • grunt: npm install -g grunt-cli

Note: If JHipster tell you it requires at least JDK 1.7 and you think you have that already, then check what's actually being used by typing mvn -version If maven is using the wrong version of java, then you might want to set the JAVA_HOME environmental variable in your ~/.bash_profile file.

The war file is modified during the build by the spring-boot-maven-plugin to embed the Tomcat web server. This turns the war into an self-contained executable jar file (see pom.xml )

Releases are produced using the jgitflow plugin, implementing the Gitflow process.

mvn jgitflow:release-start
mvn jgitflow:release-finish
git push

Note that the release-finish step takes a while to upload.

Once the application is packaged as an executable war file, we then generate a Debian installable .deb file using the jdeb plugin. The contents and config for this are in the pom.xml xml and in the src/main/deb folder.

Releases are published to the IHTSDO Maven Nexus Repository using the normal deploy processes. If you wish to publish a snapshot version (e.g for a nightly deploy), run

mvn clean deploy

Note: Publishing builds requires credentials in settings.xml for the Nexus server. E.g.

<settings>
	<servers>
		<server>
			<id>ihtsdo-public-nexus</id>
			<username>buckleym</username>
			<password>******</password>
		</server>
	</servers>
</settings>

Once published to Nexus, the project is available for installation. There is an Ansible playbook available.

You can also install the software manually using apt-get. The IHTSDO Nexus server acts as an Apt repository. To subscribe to the repository, add a file to /etc/apt/sources.list.d/ containing the single line

deb https://maven.ihtsdotools.org/content/repositories/snapshots/ ./

for snapshots, or

deb https://maven.ihtsdotools.org/content/repositories/releases/ ./

for releases.

Then, update the Apt indexes with

apt-get update

The install the software with

apt-get install mlds

Note: when installing manually, you will need to configure a Postgres database. By default, the db name is mlds, connecting via a user named mlds.

The application provides default configuration values in config.properties. Comments inline.