Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mohammadll/jenkins-casc
Jenkins Configuration as Code(JCasC)
https://github.com/mohammadll/jenkins-casc
ansible docker-compose jenkins terraform
Last synced: 11 days ago
JSON representation
Jenkins Configuration as Code(JCasC)
- Host: GitHub
- URL: https://github.com/mohammadll/jenkins-casc
- Owner: mohammadll
- Created: 2023-05-06T11:06:37.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-19T18:54:50.000Z (12 months ago)
- Last Synced: 2024-11-25T09:46:37.417Z (2 months ago)
- Topics: ansible, docker-compose, jenkins, terraform
- Language: HCL
- Homepage:
- Size: 24.4 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jenkins-CasC
### Introduction
Setting up Jenkins is a complex process, as both Jenkins and its plugins require some tuning and configuration, with dozens of parameters to set within the web UI manage section.
Jenkins Configuration as Code provides the ability to define this whole configuration as a simple, human-friendly, plain text yaml syntax. Without any manual steps, this configuration can be validated and applied to a Jenkins controller in a fully reproducible way. With JCasC, setting up a new Jenkins controller will become a no-brainer event.
-----------
### What do we want to do ?
- Provisioning a jenkins server on virtualbox platform with Terraform (you can also use other platforms like aws):
- we used ubuntu vagrant box
- Running ansible playbook with terraform provisioner that is responsible to do some tasks:
- Install Docker and Docker-compose on jenkins server
- Run jenkins docker-compose to have its docker container up and running
----------### casc.yml configuration file
One of the most important files that we have in this project is << casc.yml >> that is reponsible to define the whole jenkins configuration as a simple, human-friendly, plain text yaml syntax
#### What we did in casc.yml:
- setting up jenkins basic configuration like system_message , num executors , jenkins url
- Creating a local user : admin
- Creating two credentials with different types (string , usernamePassword) for SonarQube and Jira plugins
- Setting up Jira and SonarQube Plugins
- Setting up the home location of jdk, maven, git tools----------
### Now We have a jenkins server with Pre-defind configuration