A java development ecosystem built with vagrant and ansible that provides:
- GitLab - source control management, issue tracker and wiki
- Jenkins - continuous integration
- Sonarqube - code quality inspection tool
For now, it is intended for personal usage, say a personal/school project.
Includes backup/restore for all applications.
git clone https://github.com/joaocenoura/jdevtools.git jdevtools && cd $_
vagrant up
after the installation process is completed, go to:
and you're done!
host machine must have:
optionally, you may install:
- apt-cacher-ng - caches deb packages; useful if developing this project
- vagrant-timezone - allows to setup a timezone on the vagrant machine
both processes are executed at the host machine:
./jdevtools-backup.sh
./jdevtools-restore.sh
note:
- backups are stored in
backups/
(this folder is automatically created when performing a backup). - fdupes will remove any duplicated backup in order to save space
- the restore process will always fetch the latest backup.
edit Vagrantfile
and change the 'host' variable:
config.vm.network "forwarded_port", guest: 80, host: 9871
config.vm.network "forwarded_port", guest: 8081, host: 9872
config.vm.network "forwarded_port", guest: 9000, host: 9873
install vagrant-timezone plugin: vagrant plugin install vagrant-timezone
edit Vagrantfile
and change the 'config.timezone.value' variable:
if Vagrant.has_plugin?("vagrant-timezone")
config.timezone.value = "Europe/Lisbon"
end
apt-cacher-ng is very useful when one is constantly provisioning the box. It allows to cache deb files (all except gitlab) and reduces drastically the provisioning time.
to setup the box to use a apt-cacher-ng proxy, simply create the file provisioning/roles/common/vars/aptcacher.yml
and add:
---
aptcacher_host: <apt_cacher_ng_ipaddress>:3142
to setup a apt-cacher server, check https://github.com/joaocenoura/apt-cacher-ng
or use the provided script to spin up a apt-cacher server:
# this will checkout https://github.com/joaocenoura/apt-cacher-ng.git
# and create the provisioning/roles/common/vars/aptcacher.yml
./setup_aptcacher.sh
cd tmp/apt-cacher-ng
vagrant up
this is just a simple guideline/workflow to use all the provided tools. for each project: