... | ... | @@ -14,6 +14,12 @@ |
|
|
|
|
|
## Table of Contents ##
|
|
|
|
|
|
1. [Introduction](#1-introduction)
|
|
|
2. [Source Control of the Jenkins pipeline script](#2-source-control-of-the-jenkins-pipeline-script)
|
|
|
3. [Declarative Pipeline Script](#3-declarative-pipeline-script)
|
|
|
1. [Verify Parameter stage](#31-verify-parameter-stage)
|
|
|
2. [Verify Guidelines stage](#32-verify-guidelines-stage)
|
|
|
3. [Start Virtual Machine stages](#33-start-virtual-machine-stages)
|
|
|
|
|
|
# 1. Introduction #
|
|
|
|
... | ... | @@ -58,11 +64,39 @@ The first few blocks are written to: |
|
|
- Associate this GitLab pipeline with the Jenkins master job
|
|
|
- Create an `external job` for each stage specified and put them in a `pending` stage.
|
|
|
|
|
|
## 3.1 Verify Parameter stage ##
|
|
|
## 3.1. Verify Parameter stage ##
|
|
|
|
|
|
In this stage we are verifying the parameters are consistent.
|
|
|
In this stage we are verifying if the parameters are consistent.
|
|
|
|
|
|
At the time of writing:
|
|
|
|
|
|
- Redhat - CentOS parameter check: if 3 needed parameters are present in the Jenkins Master job configuration, CentOS build will be performed on a remote CentOS server. If not, no CentOS build will be scheduled.
|
|
|
|
|
|
## 3.2. Verify Guidelines stage ##
|
|
|
|
|
|
In this stage we are verifying several guidelines:
|
|
|
|
|
|
- The Coding Formatting Rules
|
|
|
- **[TBD]** The "Non-CI-Admin" modifications rules:
|
|
|
- CI and Configuration files **SHALL NOT** be modified by an non-CI expert
|
|
|
|
|
|
Also in this stage, in case of a Merge-Request we are performing a temporary merge between the `source` branch and the `target` branch to work on.
|
|
|
|
|
|
- In case of merge conflicts, the master job will stop immediately and fail the Merge-Request.
|
|
|
|
|
|
## 3.3. Start Virtual Machine stages ##
|
|
|
|
|
|
The different needed VMs are started sequentially. We tried to start them in parallel but it was too much stress on the host HW. We were seeing failures.
|
|
|
|
|
|
**[TBD]**We could start them 2 by 2 to speed up a bit the processing.
|
|
|
|
|
|
Note if a VM start is forgotten for a given variant, the corresponding VM will be created and started during the build stage.
|
|
|
|
|
|
The created VMs are brand new systems with a minimal package configuration.
|
|
|
|
|
|
## 3.4. Build stages ##
|
|
|
|
|
|
Each variant build is performed in parallel on its corresponding VM. OAI build script will install all the needed packages.
|
|
|
|
|
|
Log files will be used to determine the pass/fail status of each build.
|
|
|
|