generated from gCubeCI/Pipeline-Docker-Template
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ROBERTO CIRILLO
8a95929a8a
Reviewed-on: #7 |
7 months ago | |
---|---|---|
images | 9 months ago | |
.gitignore | 2 years ago | |
.project | 2 years ago | |
Jenkinsfile | 7 months ago | |
LICENSE.md | 2 years ago | |
README.md | 9 months ago |
README.md
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:
- The pipeline can run manually. This option is conceived for debug purpose:
- Follows a stage view example when the pipeline was scheduled by system, but there were any action to do:
Flow Chart
License
This project is licensed under the EUPL V.1.1 License.