Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
tutorial:dev:how_to_release [2018/06/26 08:47]
kopro
tutorial:dev:how_to_release [2018/06/27 05:28]
kopro
Line 1: Line 1:
 +====== Release CzechIdM ======
 +
 +In this tutorial we will describe how to release a new version of CzechIdM.
 +
 +===== 01 - Prerequisites =====
 +  * We need clone of git [[https://github.com/bcvsolutions/CzechIdMng|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
 +
 +  * install maven to your computer ([[https://maven.apache.org/install.html|maven install steps]]),
 +
 +===== 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!):
 +<code xml>
 +<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>
 +</code>
 +
 +===== 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:
 +{{ :tutorial:dev:release1.png |}}
 +
 +{{ :tutorial:dev:release2.png |}}
 +
 +{{ :tutorial:dev:release3.png |}}
 +
 +{{ :tutorial:dev:release4.png |}}
 +
 +{{ :tutorial:dev:release5.png |}}
  
  • by potociarj