gCubeDeployer/README.md

52 lines
2.1 KiB
Markdown
Raw Permalink Normal View History

2022-05-12 09:46:15 +02:00
# Pipeline-gCubeDeployer
2022-04-14 15:28:19 +02:00
2022-05-11 15:20:46 +02:00
Jenkins Pipeline script to manage one or more gCube components deployment
2022-04-14 15:28:19 +02:00
2022-05-11 15:20:46 +02:00
## Requirements
* [Jenkins](https://jenkins.io/) ver. 2.164.2 or newer
* [Pipeline plugin](https://wiki.jenkins.io/display/JENKINS/Pipeline+Plugin)
* [Pipeline: Maven](https://plugins.jenkins.io/pipeline-maven)
* [Pipeline: Basic Steps](https://plugins.jenkins.io/workflow-basic-steps)
* [Email Extension](https://plugins.jenkins.io/email-ext) (to send emails with attachments)
2022-06-10 11:05:21 +02:00
* Jenkins agent(s) configured with Ansible ver. 2.9.27 or newer
2022-10-13 11:26:18 +02:00
* One or more Jenkins agents labeled as 'ansible'
2022-04-14 15:28:19 +02:00
2022-10-05 11:12:20 +02:00
## 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
2022-05-11 15:20:46 +02:00
2022-10-13 11:26:18 +02:00
## 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
2022-05-11 15:20:46 +02:00
## References
* [Jenkins Pipeline](https://jenkins.io/doc/book/pipeline/)
* [Pipeline Syntax](https://jenkins.io/doc/book/pipeline/syntax/)
2023-07-11 16:59:09 +02:00
## 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]]
2023-07-11 17:00:28 +02:00
* Follows a stage view example when the pipeline was scheduled by system, but there were any action to do:
2023-07-11 16:59:09 +02:00
[[images/gCubeDeployer-stageview.png]]
2022-05-11 15:20:46 +02:00
2022-10-13 17:20:51 +02:00
## Flow Chart
2022-10-13 17:27:19 +02:00
[[images/FlowChartgCubeDeployer.jpeg]]
2022-10-13 17:20:51 +02:00
2022-05-11 15:20:46 +02:00
## License
This project is licensed under the [EUPL V.1.1 License](LICENSE.md).