With homebrew:
$ brew install ansible
With vanilla python:
$ sudo easy_install pip
$ sudo pip install -U ansible
$ sudo apt-get install python python-pip
$ sudo pip install -U ansible
The following roles are enabled for CI server(s):
Before running the playbook, you must create an user named ovh on the server and allow it to use sudo.
$ ansible-playbook -i hosts -k -K ci.yml
Disable ssh root login.
Installs git.
Installs MySQL client and server, with root passord set to "root".
Installs memcached, composer and PHP with required configuration file for GooTickets as well as the following PHP extensions:
php-curlphp-mbstringphp-memcachedphp-mysqlphp-xmlphp-zip
Installs NodeJS and NPM with the following node packages installed globally:
bowergrunt-cli
Installs nginx and Let's Encrypt, and setup a cron job for automated SSL certificates renewal.
Installs Jenkins, generate a SSL certificate for jenkins.gootickets.com and intall the following Jenkins plugins:
ansicolorembeddable-build-statusgitgit-clientgithubgithub-apighprbgreenballsslackthrottle-concurrentsshared-workspacebuild-pipeline-pluginsonar
Jenkins configuration regarding security must be done afterward through the Jenkins web interface.
Installs SonarQube
PHP plugin must be installed manually
Installs GooRelease and creates a prestashop database. Once installation is done, a backup must be imported in the prestashop database.