Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dimasmith/ci-server-setup
Scripts to install CI server for Java development
https://github.com/dimasmith/ci-server-setup
ansible ci-server docker java jenkins nexus-repository playbook
Last synced: about 14 hours ago
JSON representation
Scripts to install CI server for Java development
- Host: GitHub
- URL: https://github.com/dimasmith/ci-server-setup
- Owner: dimasmith
- License: mit
- Created: 2017-03-14T15:35:20.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-03-28T13:21:04.000Z (almost 8 years ago)
- Last Synced: 2025-01-29T08:11:16.841Z (6 days ago)
- Topics: ansible, ci-server, docker, java, jenkins, nexus-repository, playbook
- Size: 31.3 KB
- Stars: 5
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
CI Server
========Automated setup for CI server to use with java projects.
## Software that can be set up:
* [Jenkins](https://jenkins.io/)
* [Nexus](https://www.sonatype.com/nexus-repository-oss)
* [Nginx](https://www.nginx.com/resources/wiki/)
* [SonarQube](https://www.sonarqube.org/)## Setting up
Software is set up via [Ansible](https://www.ansible.com/).
Copy or modify example playbook to set up your server.
Provide an inventory file for the playbook.
Provision environment using Ansible.### Customization
#### Domains
Domains are used by gateway to proxy requests to services.
Variables to set up domains:
* `jenkins_domain` for jenkins;
* `nexus_domain` for nexus;
* `sonar_domain` for sonar;#### Service ports
It is possible to customize network ports for services by setting:
* `jenins_port` for jenkins;
* `nexus_port` for nexus;
* `sonar_port` for sonar;#### Service versions
Service versions can be changes by setting variables:
* `jenkins_version`;
* `nexus_version`;
* `sonar_version`;Those settings can be customized when including role.
If, for example, you want to run jenkins on 8888 port on `build.example.com` domain
create playbook like that:
```yml
roles
- { role: gateway, jenkins_domain: "build.example.com" }
- { role: jenkins, jenkins_port: 8888 }
- nexus
```### Evaluate locally
The Vagrantfile is included to populate your server locally.
It is advised to evaluate installation using vagrant before provisioning servers.The `example.yml` playbook populates local environment.
Vagrant launches machine in private network using `192.168.1.10` address.
By default gateway is set up to resolve `jenkins.ci` and `nexus.ci` domains
to respective services.You may use dnsmasq to set up local development domain to test installation.
## Software
### SonarQube
Sonar is installed together with MySQL database.