This repository contains code code to assist installing the application stack as required by the NSL apps (editor, mapper and services)
Technologies used are:
- Ansible
- Packer
- Vagrant
- Provision a ubuntu / redhat machine possibly in AWS ( or elsewhere) ( If using Vagrant Oracle VirtualBox is used to automatically provision a VM)
- Include the public ip/hostname and the private ip in the inventory/your_env_name_file
- Create corresponding dir and files under group_vars. Use the existing env dir/files as examples
- Run the following ansible-playbook command to install
- Tomcat
- Postgres
- ApacheDS
ansible-playbook -i inventory/*your_env_name_file* -u ubuntu --private-key ../DAWRAWSSYD.pem playbooks/site.yml
- Run the following ansible-playbook command to deploy war files for the NSL apps
ansible-playbook -i inventory/*your_env_name_file* -u ubuntu --private-key ../DAWRAWSSYD.pem playbooks/deploy.yml
Jenkins is our CI server. Under the covers jenkins uses
- shell scripts,
- Ansible playbooks,
- github wehooks
As soon as a developer pushes changes to the remote github repo ; github webhook will trigger a build job in jenkins. Jenkins plugins used ( not an exaustive list) :
- Build Token Root Plugin (https://wiki.jenkins.io/display/JENKINS/Build+Token+Root+Plugin) to enable build trigger without authentication.
- Pipeline to enable pipeline as code (https://jenkins.io/solutions/pipeline/)