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.

  • We need clone of git repository with checkout actual develop, during the process, we will need the right to write to this repository, example:
 # clone respository
 $ git clone git@github.com:bcvsolutions/CzechIdMng.git
 # change folder
 $ cd CzechIdMng
 # checkout develop
 $ git checkout develop

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
  • Update version (all)
  • Update version (only backend)
  • Update version (only frontend)
  • Deploy to nexus (all)
  • Deploy to nexus (only backend)
  • Deploy to nexus (only frontend)
  • exit

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

Update version for backend and frontentend modules

Update version only for backend modules

Update version only for frontend modules

Deploy current modules (frontend + backend) to nexus

Deploy current backend modules to nexus

Deploy current frontend modules to nexus

Exit application

Examples:

  • by potociarj