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

From Gcube Wiki
Jump to: navigation, search
(Continuous Delivery)
 
(48 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  
 +
This page contains the references for the gCube Continuous Integration procedure
 +
 +
= Overview =
 
* [[Continuous_Integration_of_gCube_System:_Overview|Continuous Integration Pipeline of gCube System: Overview]]
 
* [[Continuous_Integration_of_gCube_System:_Overview|Continuous Integration Pipeline of gCube System: Overview]]
 
** [[Continuous_Integration_of_gCube_System:_Overview#Workflow|Workflow]]  
 
** [[Continuous_Integration_of_gCube_System:_Overview#Workflow|Workflow]]  
 
** [[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]]
  
* [[CI_Minimalistic_Developer%27s_Guide| Minimalistic Developer's Guide]]
+
= Getting Started =
 +
Minimalistic developer guides for setting up the Continuous Integration procedure:
 +
 
 +
* [[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 =
 +
 
 +
== Configuration ==
  
 
* [[Development Machine]]
 
* [[Development Machine]]
 
**[[OpenJDK as Java Platform]]
 
**[[OpenJDK as Java Platform]]
**[[Maven Configuration]]  
+
**[[Maven Configuration]]
 +
* [[gCube Project Layout]]
  
 +
== Continuous Integration ==
 
* [[Source Code Management: Gitea]]
 
* [[Source Code Management: Gitea]]
 
** [[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]]
 +
** [[Common_Git_Actions|Common Git Actions]]
 
** [[Git_Eclipse|Eclipse Support]]
 
** [[Git_Eclipse|Eclipse Support]]
 +
** [[Shell helpers]]
  
 
* [[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]]
  
 
* [[Gitea/Jenkins: Setting up Webhooks]]
 
* [[Gitea/Jenkins: Setting up Webhooks]]
Line 29: Line 52:
 
** [[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:_Definition_and_Principles|Definition and Principles]]
 
* [[Continuous_Integration:_Releases|Releases]]
 
* [[Continuous_Integration:_Releases|Releases]]
 
** [[Continuous_Integration:_Releases_Maven|Maven]]
 
** [[Continuous_Integration:_Releases_Maven|Maven]]
Line 35: 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#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 ==
  
 
* [[Continuous_Integration:_Best_Practices|Continuous Integration: Best Practices]]
 
* [[Continuous_Integration:_Best_Practices|Continuous Integration: Best Practices]]
 
** [[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]] =
 +
 +
 +
[[Category:Continuous_Integration]]

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