Project

General

Profile

Actions

Task #1124

closed

Release FE + BE together

Added by Radek Tomiška almost 6 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Ondřej Kopr
Category:
Infrastructure
Target version:
Start date:
06/06/2018
Due date:
% Done:

100%

Estimated time:
Owner:

Description

In ticket #1072 was implemented releasing frontend modules. Now will be nice to use it together with backend module => one release on tag creation.


Related issues

Related to IdStory Identity Manager - Task #1072: Release FE modulesClosedOndřej Kopr04/16/2018

Actions
Actions #1

Updated by Radek Tomiška almost 6 years ago

Actions #2

Updated by Ondřej Kopr almost 6 years ago

  • Status changed from New to In Progress
  • Assignee changed from Radek Tomiška to Ondřej Kopr

I will made analyze if is possible release FE via maven, otherwise I will create new shell script for it.

Actions #3

Updated by Ondřej Kopr almost 6 years ago

  • Target version set to Lapis (8.2.0)
Actions #4

Updated by Ondřej Kopr almost 6 years ago

  • % Done changed from 0 to 30

I probably found workaround for use jgitflow: https://ecosystem.atlassian.net/browse/MJF-299

The change dependency to

<plugin>
    <groupId>com.amashchenko.maven.plugin</groupId>
    <artifactId>gitflow-maven-plugin</artifactId>
    <version>1.9.0</version>
</plugin>

isn't works correctly, but the first workaround works:
<plugin>
  <groupId>external.atlassian.jgitflow</groupId>
  <artifactId>jgitflow-maven-plugin</artifactId>
  <version>1.0-m5.1</version>
  <dependencies>
    <dependency>
      <groupId>com.jcraft</groupId>
      <artifactId>jsch</artifactId>
      <version>0.1.54</version>
    </dependency>
  </dependencies>
</plugin>

I already add it into develop and yesterday Radek try release with jgitflow.

Commit: https://github.com/bcvsolutions/CzechIdMng/commit/aeca90f62988e348bffee286bdbd39ea3bf07122

If this will be success I will try behavior with postReleaseGoals and preReleaseGoals.

Actions #5

Updated by Ondřej Kopr almost 6 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Ondřej Kopr to Radek Tomiška
  • % Done changed from 30 to 90

I implemented new bash script for release product. Script support 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)

Script was made with whiptail gui.

I also udated app release profile with new command by Vitek - npm install && gulp install. Change profile release was problem, because new node_modules has circular folder structure and maven-resources-plugin includes all symlinks even if the folder is marked as exluded. I solved the problem with add new phase with clean/remove node_modules and then pack frontend sources before build it. It is neccessary made also clean phase, or remove node_modules manually.

commits:
script: https://github.com/bcvsolutions/CzechIdMng/commit/9419c23024d290d3a45095a86acac5625bfecc32
script fix: https://github.com/bcvsolutions/CzechIdMng/commit/690c49d8624631bebcdc244af8664d10662919be
app pom update: https://github.com/bcvsolutions/CzechIdMng/commit/b2ca5716ff52eb293b030c80c1d3bb5189bc6586

(develop branch)

Please Radek could you made a review? Thank you.

Actions #6

Updated by Radek Tomiška almost 6 years ago

  • Status changed from Needs feedback to In Progress
  • Assignee changed from Radek Tomiška to Ondřej Kopr
  • Target version changed from Lapis (8.2.0) to Jade (8.1.3)

It's really awesome, you are my hero! I test all use cases and it works, thx!

Update please documentation (tutorials "how to release ...') before closing this ticket.

Note: the next step could be execute release scrip on jenkins (or on some virtual) .)

Actions #7

Updated by Ondřej Kopr almost 6 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100

I update documentation: https://wiki.czechidm.com/tutorial/dev/how_to_release and https://wiki.czechidm.com/priv/notes/release-fe

Release product on some virtual is good idea, only things we need is create some service account for push and merge changes to github.

I close this ticket, next step will be implemented in another ticket. Thank you for tests.

Actions

Also available in: Atom PDF