Difference between revisions of "Continuous Integration procedure (2019)"
From Gcube Wiki
Manuele.simi (Talk | contribs) (→Continuous Delivery) |
Manuele.simi (Talk | contribs) (→Continuous Delivery) |
||
(36 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 = | ||
− | + | Minimalistic developer guides for setting up the Continuous Integration procedure: | |
− | * [[CI_Minimalistic_Developer%27s_Guide| Minimalistic Developer | + | |
+ | * [[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 18: | 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 24: | 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 31: | 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 40: | 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 49: | 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 == | == Best Practices == | ||
Line 60: | 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]] = | ||
+ | |||
+ | |||
+ | [[Category:Continuous_Integration]] |
Latest revision as of 03: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