Release CzechIdM

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