Table of Contents

Release CzechIdM

WARNING: This page is deprecated. Current release process documentation: https://github.com/bcvsolutions/CzechIdMng/blob/develop/RELEASE.md

In this tutorial we will describe how to release a new version of CzechIdM.

01 - Prerequisites

 # clone respository
 $ git clone git@github.com:bcvsolutions/CzechIdMng.git
 # change folder
 $ cd CzechIdMng
 # checkout develop
 $ git checkout develop

02 - Maven settings

After install maven is necessary setup maven via settings.xml, this file you can found in ~/.m2./. If this file don't exists create it. Into file you must put this settings (change username and password yours!):

<settings>
  <servers>
    <!-- Nexus server login information -->
    <server>
      <id>nexus</id>
      <username><USERNAME></username>
      <password><PASSWORD></password>
    </server>
  </servers>
 
  <pluginGroups>
      <pluginGroup>external.atlassian.jgitflow</pluginGroup>
  </pluginGroups>
 
  <mirrors>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
      <url>https://nexus.bcvsolutions.eu/repository/maven-public/</url>
    </mirror>
  </mirrors>
 
  <profiles>
    <profile>
      <id>nexus-repo</id>
      <repositories>
        <repository>
          <id>maven-snapshots</id>
          <url>https://nexus.bcvsolutions.eu/repository/maven-snapshots/</url>
          <releases><enabled>false</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>maven-release</id>
          <url>https://nexus.bcvsolutions.eu/repository/maven-releases/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>false</enabled></snapshots>
        </repository>
      </repositories>
    </profile>
</profiles>
  <activeProfiles>
    <activeProfile>nexus-repo</activeProfile>
  </activeProfiles>
</settings>

===== 03 - Release via bash script Script is placed in *Relazitaion* folder, Script has text GUI made by whiptail and it is very user friendly.

 # run script
 $ bash ./release.sh

Now is supperted these operations:

Complete release for all modules

Complete release, update release version and hotfix (frontend + backend), deploy to nexus (frontend + backend) and merge with some branch.

Update version (all)

Update version for backend and frontentend modules

Update version (only backend)

Update version only for backend modules

Update version (only frontend)

Update version only for frontend modules

Deploy to nexus (all)

Deploy current modules (frontend + backend) to nexus

Deploy to nexus (only backend)

Deploy current backend modules to nexus

Deploy to nexus (only frontend)

Deploy current frontend modules to nexus

exit

Exit application

Examples: