af67b9802b901d837ca96169febff5d55269df43
wiki/howto/development/ci.md
| ... | ... | @@ -62,7 +62,7 @@ The basic idea of setting up a build job is to create a so-called "free-style so |
| 62 | 62 | |
| 63 | 63 | In order to elastically scale our build / CI infrastructure, we use AWS to provide Hudson build slaves on demand. The Hudson Master (https://hudson.sapsailing.com) has a script obtained from our git at ``./configuration/launchhudsonslave`` which takes an Amazon Machine Image (AMI), launches it in our default region (eu-west-1) and connects to it. The AWS credentials are stored in the ``root`` account on ``hudson.sapsailing.com``, and the ``hudson`` user is granted access to the script by means of an ``/etc/sudoers.d`` entry. |
| 64 | 64 | |
| 65 | -The image has been crafted specifically to contain the tools required for the build (as of this writing in particular Google Chrome, chromedriver and an old Firefox 26.0, plus a current Maven installation and the JDKs required for the build). In order to set up such an image based on Ubuntu, consider running the following commands as root (see also https://tecadmin.net/setup-selenium-chromedriver-on-ubuntu/), starting as the "ubuntu" used: |
|
| 65 | +The image has been crafted specifically to contain the tools required for the build. In order to set up such an image based on Ubuntu, consider running the following commands as root (see also https://tecadmin.net/setup-selenium-chromedriver-on-ubuntu/), on a fresh Ubuntu 20.04 instance with a 100GB root partition, starting as the "ubuntu" user: |
|
| 66 | 66 | |
| 67 | 67 | ``` |
| 68 | 68 | scp -o StrictHostKeyChecking=false trac@sapsailing.com:/home/wiki/gitwiki/configuration/imageupgrade_functions.sh /tmp |
| ... | ... | @@ -78,7 +78,7 @@ The image has been crafted specifically to contain the tools required for the bu |
| 78 | 78 | echo "deb https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" >/etc/apt/sources.list.d/mongodb-org-4.4.list |
| 79 | 79 | apt-get -y update |
| 80 | 80 | apt-get -y upgrade |
| 81 | - apt-get -y install google-chrome-stable maven mongodb-org fwupd linux-aws linux-headers-aws linux-image-aws |
|
| 81 | + apt-get -y install google-chrome-stable maven rabbitmq-server mongodb-org fwupd linux-aws linux-headers-aws linux-image-aws |
|
| 82 | 82 | apt-get -y autoremove |
| 83 | 83 | cd /tmp |
| 84 | 84 | wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip |
| ... | ... | @@ -94,6 +94,7 @@ The image has been crafted specifically to contain the tools required for the bu |
| 94 | 94 | systemctl enable imageupgrade.service |
| 95 | 95 | systemctl enable mounthudsonworkspace.service |
| 96 | 96 | systemctl enable mongod.service |
| 97 | + systemctl enable rabbitmq-server.service |
|
| 97 | 98 | adduser --system --shell /bin/bash --quiet --group --disabled-password sailing |
| 98 | 99 | adduser --system --shell /bin/bash --quiet --group --disabled-password hudson |
| 99 | 100 | sudo -u sailing mkdir /home/sailing/.ssh |