INT Deploy and Rollout

As for the int System we do not perform a real release, but just a snapshot deploy, we call it "int deploy and rollout".

Step 1: Clone repos / checkout projects

Checkout the int branches of all projects, that should be released: Check that all needed projects are listed here:

gedit /common/usr/lsa/bin/mkws/checkout.reactor.jutta &

Perform the checkout of the int branche of those projects:

/common/usr/lsa/bin/mkws/checkout.reactor.jutta --ssh --flat -b int -p ~/dev/ws_release_202010/repos/git/

TODO checkout.reactor.jutta löschen und in checkout.reactor aufnehmen. Das sollte die maximale Projektliste sein.

Step 2: Deploy

For the deploy and rollout, we also first have to adapt the project list of the (cscoap-reactor). This project has been checked out in step 1
~/dev/ws_rb/repos/git/scripts/mvn/mvn_reactor_release -rv 16.0.0-RC-INT-SNAPSHOT -dv 16.0.0-RC-INT-SNAPSHOT

Note: If projects fail here, the order of deployment is not correct any more afterwards. To mitigate this, just comment out / remove the succeeded projects from the reactor, before you start the script again.

TODO release.properties file erzeugen anfangs mit der richtigen Reihenfolge. Dieses beim Release benutzen, statt die Reihenfolge neu zu ermitteln. Dann sollte auskommentieren der erfolgreichen Module nicht mehr nötig sein.

Step 3: Rollout of applications on int

ssh websvcint First adapt the list of applications, for which the rollout should be performed.

vi /common/usr/cscoap/bin/rolloutAll

(vi commands: insert with "Esc + I" and save with "Esc : wq" plus Enter.) and perform the rollout:

/common/usr/cscoap/bin/rolloutAll int

If the rollout for single applications should be performed lateron, e.g. for quick fixes during the integration test, you can use the standard rollout script.

rollout de.gsi.fcc.applications:requester-app:16.0.0-RC-INT-SNAPSHOT --repo csco-snapshot

Step 4: Rollout of LSA server

ssh vmla003 
[jfitzek@vmla003 ~]$ sudo -u bob bash 
[bob@vmla003 bin]$ lsaServer --stop --rollout=16.0.0 --start  (eventually without --stop, if this fails)

Step 5: Rollout of LSA REST service

ssh restint00a
/common/usr/lsa/bin/lsa_rest_servlet_download_version

First, edit the lsa_rest_servlet_download_version Script to update the version number and afterwards run the Script.

Step 6: Jenkins

First update the Project list in the projects.int file and then call the Jenkins upload.
[jfitzek@asl742 jenkins]$ cd /common/home/bel/jfitzek/lnx/dev/ws_rb/repos/git/scripts/jenkins/
[jfitzek@asl742 jenkins]$ ./jenkins.sh -b int -p projects.int

Step 6 (optional): Adapt the int launcher entries

The so-called INT-Launcher is actually a productive version of the launcher running, but with a specific config file for the int applications. The config of this launcher can be edited

TODOs

TODO Create a release repository and put all scripts there

TODO Rechteprüfung evtl. automatisch ? Sonst oben schreiben, dass man Rechte auf bss-Orga und CERN (!!!??!!) braucht. Überlegung: 2 Reactoren, eine Person vom LSA Team released den unteren Teil (CERN, BSS, dafür notwendige Projekte)

TODO Evtl. Christoph: für den Release das Snapshot-Repo disablen können, dazu müsste es in der globalen Maven Config separat eingetragen sein

TODO Precondition for Release: delete local .m2 repo (or at least cern. and de.gsi.)

TODO Idee: eine Liste mit Dependency Version Konflikten am Anfang für alle Projekte erzeugen und rausschreiben.

TODO Wir brauchen mehr Testdatenbanken. Insb. wenn man INT hochziehen möchte braucht man auch ein entsprechendes INT-Test, Also insgesamt 3 TestDBs, DEV, INT, PRO

TODO Jenkins Ordner disablen, DB hochziehen, Releasen, Jenkins enablen

TODO lsa-rest-gsi-v2, ich musste die child module pom selbst die Version ersetzen, hat das Script nicht automatisch gemacht

-- JuttaFitzek - 23 Oct 2020
Topic revision: r4 - 16 Jan 2021, JuttaFitzek
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback