Difference between revisions of "Continuous Integration procedure (2019)"

From Gcube Wiki
Jump to: navigation, search
(Overview)
(Continuous Delivery)
 
(27 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
** [[Continuous_Integration_of_gCube_System:_Overview#Maven_Isolation|Maven Isolation]]
 
** [[Continuous_Integration_of_gCube_System:_Overview#Maven_Isolation|Maven Isolation]]
 
* [[Continuous_Delivery_of_gCube_System:_Overview|Continuous Delivery Pipeline of gCube System: Overview]]
 
* [[Continuous_Delivery_of_gCube_System:_Overview|Continuous Delivery Pipeline of gCube System: Overview]]
**[[https://wiki.gcube-system.org/gcube/Continuous_Delivery_of_gCube_System:_Overview#Workflow|Workflow ]]
+
**[[Continuous_Delivery_of_gCube_System:_Overview#Workflow|Workflow]]
**[[https://wiki.gcube-system.org/gcube/Continuous_Delivery_of_gCube_System:_Overview#Actors_and_Entities|Actors and Entities ]]
+
**[[Continuous_Delivery_of_gCube_System:_Overview#The_Release_Process|The Release Process]]
 +
**[[Continuous_Delivery_of_gCube_System:_Overview#Actors_and_Entities|Actors and Entities]]
  
 
= Getting Started =
 
= Getting Started =
A quick reference for the Continuous Integration procedure can be found here:
+
Minimalistic developer guides for setting up the Continuous Integration procedure:
* [[CI_Minimalistic_Developer%27s_Guide| Minimalistic Developer's Guide]]
+
 
 +
* [[CI_Minimalistic_Developer%27s_Guide| Minimalistic Developer Guide for SVN projects]]
 +
* [[CI_Minimalistic_GitHub%27s_Guide| Minimalistic Developer Guide for GitHub projects]]
 +
* [[CI_Minimalistic_Gitea%27s_Guide| Minimalistic Developer Guide for Gitea projects]]
  
 
= CI/CD Guide =
 
= CI/CD Guide =
Line 21: Line 25:
 
* [[Development Machine]]
 
* [[Development Machine]]
 
**[[OpenJDK as Java Platform]]
 
**[[OpenJDK as Java Platform]]
**[[Maven Configuration]]  
+
**[[Maven Configuration]]
 +
* [[gCube Project Layout]]
  
 
== Continuous Integration ==
 
== Continuous Integration ==
Line 27: Line 32:
 
** [[Repositories]]
 
** [[Repositories]]
 
** [[Import from SVN]]
 
** [[Import from SVN]]
 +
** [[Cloning_Git_Repository|Cloning a Git Repository]]
 
** [[Git_Branching_Strategy|Branching Strategy]]
 
** [[Git_Branching_Strategy|Branching Strategy]]
 
** [[Tags]]
 
** [[Tags]]
Line 34: Line 40:
  
 
* [[Build and Integration System: Jenkins]]
 
* [[Build and Integration System: Jenkins]]
** [[Jenkins Projects (aka Jobs)]]
+
** [[Jenkins Projects (aka Jobs)|Jenkins Projects (aka Jobs) for Gitea]]
 +
** [[Jenkins Projects (aka Jobs) for GitHub|Jenkins Projects (aka Jobs) for GitHub]]
 
** [[Connecting projects downstream/upstream]]
 
** [[Connecting projects downstream/upstream]]
 
** [[Jenkins Rules]]
 
** [[Jenkins Rules]]
Line 44: Line 51:
 
** [[Gitea/Jenkins:_Setting_up_Webhooks#Webhook_on_the_Gitea_repository|Webhook on the Gitea repository]]
 
** [[Gitea/Jenkins:_Setting_up_Webhooks#Webhook_on_the_Gitea_repository|Webhook on the Gitea repository]]
 
** [[Gitea/Jenkins:_Setting_up_Webhooks#Testing_the_Gitea.2FJenkins_round_trip|Gitea/Jenkins round trip]]
 
** [[Gitea/Jenkins:_Setting_up_Webhooks#Testing_the_Gitea.2FJenkins_round_trip|Gitea/Jenkins round trip]]
 +
 +
* [[GitHub/Jenkins: Setting up Webhooks]]
  
 
== Continuous Delivery ==
 
== Continuous Delivery ==
Line 53: Line 62:
 
*** [[Continuous_Integration:_Releases_Maven#Build_Configurations|Build Configurations]]
 
*** [[Continuous_Integration:_Releases_Maven#Build_Configurations|Build Configurations]]
 
*** [[Continuous_Integration:_Releases_Maven#Why_not_the_Maven_Release_Plugin|Why not the Maven Release Plugin]]
 
*** [[Continuous_Integration:_Releases_Maven#Why_not_the_Maven_Release_Plugin|Why not the Maven Release Plugin]]
** [[Continuous_Integration:_Releases_Jenkins_Pipeline|Jenkins Pipeline]]
+
** [[Continuous_Integration:_Releases_Jenkins_Pipelines|Jenkins Pipelines]]
*** [[Continuous_Integration:_Releases_Jenkins_Pipeline#gCubeRelease_Pipeline_Project|gCubeRelease Pipeline Project]]
+
** [[Continuous_Integration:_Releases_Jenkins_Pipeline#gCube-Release_Pipeline_Project|gCubeBuilder Pipeline]]
 
*** [[Continuous_Integration:_Releases_Jenkins_Pipeline#Jenkins_Pipeline_Definition|Pipeline Definition]]
 
*** [[Continuous_Integration:_Releases_Jenkins_Pipeline#Jenkins_Pipeline_Definition|Pipeline Definition]]
 
*** [[Continuous_Integration:_Releases_Jenkins_Pipeline#Jenkins_Pipeline_Configuration| Pipeline Configuration]]
 
*** [[Continuous_Integration:_Releases_Jenkins_Pipeline#Jenkins_Pipeline_Configuration| Pipeline Configuration]]
 +
*** [[Continuous_Integration:_Releases_Jenkins_Pipeline#Build_Commits_Report|Build Commits Report]]
 +
** [[Continuous_Integration:_Tagging_Jenkins_Pipeline|gCubeTagging Pipeline]]
 +
*** [[Continuous_Integration:_Tagging_Jenkins_Pipeline#Jenkins_Pipeline_Definition|Pipeline Definition]]
 +
*** [[Continuous_Integration:_Tagging_Jenkins_Pipeline#Jenkins_Pipeline_Execution|Pipeline Execution]]
 +
*** [[Continuous_Integration:_Tagging_Jenkins_Pipeline#Tag_Report|Tag Report]]
 +
** [[Continuous_Integration:_Notes_Jenkins_Pipeline|gCubeReleaseNotes Pipeline]]
 +
** [[Continuous_Integration:_Dependency_Walker_Jenkins_Pipeline|gCubeDependencyWalker Pipeline]]
 +
** [[Continuous_Integration:_Actions_Jenkins_Pipeline|gCubeActions Pipeline]]
 
** [[Continuous_Integration:_Releases_Manager|Activities of Release Manager]]
 
** [[Continuous_Integration:_Releases_Manager|Activities of Release Manager]]
 
** [[Continuous_Integration:_Developer|Activities of Developer]]
 
** [[Continuous_Integration:_Developer|Activities of Developer]]
 +
*** [[Continuous_Integration:_Developer#POM_version_on_master|POM Version]]
 +
*** [[Continuous_Integration:_Developer#Dependencies_version|Maven Dependencies]]
  
 
== Best Practices ==
 
== Best Practices ==
Line 65: Line 84:
 
** [[VCS_Best_Practices| Version Control System]]
 
** [[VCS_Best_Practices| Version Control System]]
 
** [[Jenkins_Best_Practices|Jenkins]]
 
** [[Jenkins_Best_Practices|Jenkins]]
 +
** [[Docker_Best_Practices|Docker]]
  
 
= [[Continuous_Integration:_FAQ|FAQ]] =
 
= [[Continuous_Integration:_FAQ|FAQ]] =

Latest revision as of 03:56, 26 January 2021

This page contains the references for the gCube Continuous Integration procedure

Overview

Getting Started

Minimalistic developer guides for setting up the Continuous Integration procedure:

CI/CD Guide

Configuration

Continuous Integration

Continuous Delivery

Best Practices

FAQ