Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Code Block
title Release Process

Developer->Github: Push to master
Github->Jenkins: Webhook
Jenkins->Jenkins: Build docker image with version
Jenkins->Github: Tag with version
Jenkins->Docker Registry: Push versioned image
Jenkins->Docker Registry: Push latest image
Jenkins->Ansible: Deploy latest image
note left of Ansible: latest deployed to dev
Ansible->Platform: Copy docker-compose templates
Ansible->Platform: Run docker-compose
Jenkins->CI Tests: Run tests

...


Maven Projects

The project should already have the maven-release-plugin present, if it does not, here is how to add it: 

In the pom.xml add in the plugin along with the proper scm link (make sure that the scm link matches the project's github repo). The example below is from revalidation: 

<scm>
<developerConnection>scm:git:git@github.com:Health-Education-England/TIS-REVALIDATION.git</developerConnection>
<tag>HEAD</tag>
</scm>

...

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
</plugin>

You should start with common projects that are required for others to compile (such as TIS-SHARED-MODULES). 

...

The above rolls back your attempt to release and deletes the tag you set (ofcourse change the code to the tag you need).

UI Projects (npm and bower)

At the time of writing only TIS-COMMON is UI only.

...