+ Pipeline-gCubeDeployer
Jenkins Pipeline script to manage one or more gCube components deployment
++ Requirements
-
+
- +Jenkins ver. 2.164.2 or newer +
- Pipeline plugin +
- Pipeline: Maven +
- Pipeline: Basic Steps +
- +Email Extension (to send emails with attachments) +
- Jenkins agent(s) configured with Ansible ver. 2.9.27 or newer +
- One or more Jenkins agents labeled as 'ansible' +
+ Expected usage
-
+
- ContinuousDeployment(CD): configured as post step build on jenkinsjob +
- Scheduled by system: In this case all the pending deployments (CD) will be managed by a temporized trigger +
- Manually from Jenkins GUI +
+ Expected environment variables
The variables below must be specified as environment variables on the agent where the deployments will be executed:
+-
+
- IS_SCHEDULED (True | False): if true all the deployment requests will be performed periodically as specified by cron +
- ENVIRONMENT: ( DEV | PREPROD | PROD) Indicates the target environment where will be deployed all the artifacts +
- DEPLOY_CATEGORY: (Related to release build) one or more Component group on yaml file where search the components to deploy +
- CD: (Continuous Deployment: True | False) if True the remote deploy will be performed +
+ References +
+ Examples
-
+
- When configured as post step build on jenkinsjob, there are some variables to pass as triggered parameters. All the values are dinamically set as shown below: +
[[images/gCubeDeployer-JenkinsJob.png]]
+-
+
- The pipeline can run manually. This option is conceived for debug purpose: +
[[images/gCubeDeployer-manualRun.png]]
+-
+
- Follows a stage view example when the pipeline was scheduled by system, but there were any action to do: +
[[images/gCubeDeployer-stageview.png]]
++ Flow Chart
[[images/FlowChartgCubeDeployer.jpeg]]
++ License
This project is licensed under the EUPL V.1.1 License.
+ +