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-curl
php-mbstring
php-memcached
php-mysql
php-xml
php-zip
Installs NodeJS and NPM with the following node packages installed globally:
bower
grunt-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:
ansicolor
embeddable-build-status
git
git-client
github
github-api
ghprb
greenballs
slack
throttle-concurrents
shared-workspace
build-pipeline-plugin
sonar
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.