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

From Gcube Wiki
Jump to: navigation, search
(Continuous Delivery)
(26 intermediate revisions by 2 users not shown)
Line 7: Line 7:
 
** [[Continuous_Integration_of_gCube_System:_Overview#How_many_Builds|How many Builds]]
 
** [[Continuous_Integration_of_gCube_System:_Overview#How_many_Builds|How many Builds]]
 
** [[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#Workflow|Workflow]]
 +
**[[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 24: Line 31:
 
** [[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 31: Line 39:
  
 
* [[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 41: Line 50:
 
** [[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 50: Line 61:
 
*** [[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|gCubeRelease 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#Build_Commits_Report|Build Commits Report]]
 +
** [[Continuous_Integration:_Tagging_Jenkins_Pipeline|gCube-Tagging 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|gCube-ReleaseNotes Pipeline]]
 +
** [[Continuous_Integration:_Dependency_Walker_Jenkins_Pipeline|gCube-Dependency Walker 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 62: Line 83:
 
** [[Jenkins_Best_Practices|Jenkins]]
 
** [[Jenkins_Best_Practices|Jenkins]]
  
= [[Continuous_Integration:_FAQ|FAQ]] ==
+
= [[Continuous_Integration:_FAQ|FAQ]] =
 +
 
 +
 
 +
[[Category:Continuous_Integration]]

Revision as of 14:21, 9 July 2020

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