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

From Gcube Wiki
Jump to: navigation, search
(Continuous Integration of gCube System)
(Continuous Delivery)
 
(86 intermediate revisions by 4 users not shown)
Line 1: Line 1:
  
[[Continuous Integration of gCube System - Overview ]]
+
This page contains the references for the gCube Continuous Integration procedure
  
= Source Code Management: Gitea =
+
= 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#How_many_Builds|How many Builds]]
 +
** [[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]]
  
== Repositories ==
+
= Getting Started =
 +
Minimalistic developer guides for setting up the Continuous Integration procedure:
  
== Import from SVN ==
+
* [[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]]
  
== Branching Strategy ==
+
= CI/CD Guide =
  
== Tags ==
+
== Configuration ==  
  
= Build and Integration System: Jenkins =
+
* [[Development Machine]]
 +
**[[OpenJDK as Java Platform]]
 +
**[[Maven Configuration]]
 +
* [[gCube Project Layout]]
  
== Jenkins configuration ==
+
== Continuous Integration ==
 +
* [[Source Code Management: Gitea]]
 +
** [[Repositories]]
 +
** [[Import from SVN]]
 +
** [[Cloning_Git_Repository|Cloning a Git Repository]]
 +
** [[Git_Branching_Strategy|Branching Strategy]]
 +
** [[Tags]]
 +
** [[Common_Git_Actions|Common Git Actions]]
 +
** [[Git_Eclipse|Eclipse Support]]
 +
** [[Shell helpers]]
  
== Projects ==
+
* [[Build and Integration System: Jenkins]]
 +
** [[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]]
 +
** [[Jenkins Rules]]
  
== Connecting projects downstream/upstream ==
+
* [[Gitea/Jenkins: Setting up Webhooks]]
 +
** [[Gitea/Jenkins:_Setting_up_Webhooks#What_is_a_webhook.3F|What is a webhook]]
 +
** [[Gitea/Jenkins:_Setting_up_Webhooks#Gitea_Plugin_on_Jenkins_.28only_for_Jenkins_admins.29|Gitea Plugin on Jenkins]]
 +
** [[Gitea/Jenkins:_Setting_up_Webhooks#Build_project_configuration|Build project configuration]]
 +
** [[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: Webhooks =
+
* [[GitHub/Jenkins: Setting up Webhooks]]
  
== Gitea Plugin on Jenkins ==
+
== Continuous Delivery ==
 +
* [[Continuous_Delivery:_Definition_and_Principles|Definition and Principles]]
 +
* [[Continuous_Integration:_Releases|Releases]]
 +
** [[Continuous_Integration:_Releases_Maven|Maven]]
 +
*** [[Continuous_Integration:_Releases_Maven#Maven_Build_Profiles|Maven Build Profiles]]
 +
*** [[Continuous_Integration:_Releases_Maven#Maven_Settings_Files|Maven Settings Files]]
 +
*** [[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_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_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:_Developer|Activities of Developer]]
 +
*** [[Continuous_Integration:_Developer#POM_version_on_master|POM Version]]
 +
*** [[Continuous_Integration:_Developer#Dependencies_version|Maven Dependencies]]
  
== Build project configuration ==
+
== Best Practices ==
  
== Webhook on the Gitea repository ==
+
* [[Continuous_Integration:_Best_Practices|Continuous Integration: Best Practices]]
 +
** [[VCS_Best_Practices| Version Control System]]
 +
** [[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

Overview

Getting Started

Minimalistic developer guides for setting up the Continuous Integration procedure:

CI/CD Guide

Configuration

Continuous Integration

Continuous Delivery

Best Practices

FAQ