Difference between revisions of "Continuous Integration: Releases Manager"

From Gcube Wiki
Jump to: navigation, search
(Jenkins Activities)
(Responsibilities)
 
(24 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= Responsibilities =
 
= Responsibilities =
 
The Release Manager is in charge of:
 
The Release Manager is in charge of:
* Launching the build of the [[Continuous_Integration:_Releases_Jenkins_Pipeline| gCube Pipeline]]
+
* Declaring when a gCube release is open and when it is closed
* Maintaining the [[Continuous_Integration:_Releases_Jenkins_Pipeline#Jenkins_Pipeline_Definition| Pipeline Definition]]
+
* Preparing the [[Continuous_Integration:_Releases_Jenkins_Pipeline#Jenkins_Pipeline_Configuration| release file]] for each new gCube release
 +
* Launching the build of the [[Continuous_Integration:_Releases_Jenkins_Pipeline| gCube Release Pipeline]]
 +
* Storing the commits report generated by the gCube Release Pipeline in the [https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs Gitea repository] under the ''releases/<release number>'' folder
 +
* Launching the build of the [[Continuous_Integration:_Releases_Jenkins_Pipeline| gCube Tagging Pipeline]]
 +
* Storing the tag report generated by the gCube Tagging Pipeline in the [https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs Gitea repository] under the ''releases/<release number>'' folder
  
= Jenkins Activities =
+
= Pipeline Reports on Git =
== Launch the pipeline ==
+
The Release Manager is responsible for manually pushing the reports generated by the jenkins pipelines to Git.
  
In Jenkins:
+
The [[Continuous_Integration:_Releases_Jenkins_Pipeline#Build_Commits_Report|build commits report]] generated by the gCube Release Pipeline '''must be stored''' in the pipeline [https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs git repository] as
# select the [[Continuous_Integration:_Releases_Jenkins_Pipeline#gCubeRelease_Pipeline_Project| gCubeRelease project]]
+
# on the left side, click on 'Build with Parameters'
+
# select the type of build we want to generate in the choice menu
+
# click on the 'Build' button
+
  
[[File:CI_ReleaseManager_launch.png|600px]]
+
<nowiki>https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs/raw/branch/master/releases/<gcube_release_version>/build_commits.<report_number>.csv</nowiki>.
  
== Type of Build ==
+
The [[Continuous_Integration:_Tagging_Jenkins_Pipeline#Tag_Report|tag report]] generated by the gCube Tagging Pipeline '''must be stored''' in the pipeline [https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs git repository] as
The Pipeline project can be launched in 4 different ways (''Type'' parameter):
+
* SNAPSHOT-DRY-RUN (default)
+
: build snapshot artifacts, install the artifacts in a local repo, do not deploy
+
* SNAPSHOT
+
: build snapshot artifacts, install the artifacts in a local repo, deploy the artifacts to the ''gcube-snapshots'' Maven Repository
+
* RELEASE-DRY-RUN
+
: build release artifacts, install the artifacts in a local repo, do not deploy
+
* RELEASE
+
: build snapshot artifacts, install the artifacts in a local repo, deploy the artifacts to the ''gcube-releases'' Maven Repository
+
  
The idea behind these builds is that the Release Manager can test the full pipeline execution with the DRY-RUN builds. Once all the projects in the build work, the SNAPSHOT or RELEASE build can be launched to effectively deploy the artifacts on the remote Maven Repository.
+
<nowiki>https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs/raw/branch/master/releases/<gcube_release_version>/tags.<report_number>.csv</nowiki>.
  
== Monitor the Execution ==
 
  
== Report ==
+
''Back to the [[Continuous_Integration_procedure_(2019) | CI guide]].''
  
= Pipeline Activities =
+
[[Category:Continuous_Integration]]
 
+
''Back to the [[Continuous_Integration_procedure_(2019) | CI guide]].''
+

Latest revision as of 16:50, 22 May 2020

Responsibilities

The Release Manager is in charge of:

  • Declaring when a gCube release is open and when it is closed
  • Preparing the release file for each new gCube release
  • Launching the build of the gCube Release Pipeline
  • Storing the commits report generated by the gCube Release Pipeline in the Gitea repository under the releases/<release number> folder
  • Launching the build of the gCube Tagging Pipeline
  • Storing the tag report generated by the gCube Tagging Pipeline in the Gitea repository under the releases/<release number> folder

Pipeline Reports on Git

The Release Manager is responsible for manually pushing the reports generated by the jenkins pipelines to Git.

The build commits report generated by the gCube Release Pipeline must be stored in the pipeline git repository as

https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs/raw/branch/master/releases/<gcube_release_version>/build_commits.<report_number>.csv.

The tag report generated by the gCube Tagging Pipeline must be stored in the pipeline git repository as

https://code-repo.d4science.org/gCubeCI/gCubeReleaseConfigs/raw/branch/master/releases/<gcube_release_version>/tags.<report_number>.csv.


Back to the CI guide.