Difference between revisions of "Continuous Integration procedure (2019)"
From Gcube Wiki
(Add a subsection about the shell helpers for git) |
Manuele.simi (Talk | contribs) (→Continuous Delivery) |
||
(46 intermediate revisions by 3 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 | + | = 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]] | ||
Line 21: | 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]] | ||
* [[Gitea/Jenkins: Setting up Webhooks]] | * [[Gitea/Jenkins: Setting up Webhooks]] | ||
Line 31: | 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 37: | 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: | + | ** [[Continuous_Integration:_Releases_Jenkins_Pipelines|Jenkins Pipelines]] |
− | + | ** [[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 04:56, 26 January 2021
This page contains the references for the gCube Continuous Integration procedure
Contents
Overview
- Continuous Integration Pipeline of gCube System: Overview
- Continuous Delivery Pipeline of gCube System: Overview
Getting Started
Minimalistic developer guides for setting up the Continuous Integration procedure:
- Minimalistic Developer Guide for SVN projects
- Minimalistic Developer Guide for GitHub projects
- Minimalistic Developer Guide for Gitea projects
CI/CD Guide
Configuration
Continuous Integration
Continuous Delivery
- Definition and Principles
- Releases