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.
...