Installing a Jenkins isoworker
:warning: This process will change during
policy/tpa-rfc-73-tails-infra-merge-roadmap and this page should be updated when that happens.
-
Follow the instructions for installing a VM.
-
Create two XMPP accounts on https://jabber.systemli.org/register_web
-
Configure the accounts on your local client, make them friends, and generate an OTR key for the second account.
-
In puppet-hiera-node, create an eyaml file with tails::jenkins::slave::iso_tester::pidgin_config data, using the account and OTR key data created in steps 2 and 3.
-
Also in puppet-hiera-node, make sure you have the firewalling rules copied from one of the other isoworkers in your
$FQDN.yaml
file. -
In puppet-code, update the hieradata/node submodule and in manifests/nodes.pp add
include tails::profile::jenkins::isoworker
to the node definition. -
On the VM, run puppet agent -t once, this should generate an SSH key for user root.
-
Log in to gitlab.tails.boum.org as root and go to: https://gitlab.tails.boum.org/admin/users/role-jenkins-isotester . Click "Impersonate", go to "Edit profile" -> "SSH Keys", and add the public SSH key generated in step 6 (/root/.ssh/id_rsa.pub on the new node) to the to user's SSH keys. Make sure it never expires.
-
Go to https://jenkins.tails.net/computer and add the new node. If the node is running on our fastest hardware, make sure to set the Preference Score accordingly.
-
Under https://jenkins.tails.net/computer/(built-in)/configure , increase the 'Number of executors' by one.
-
Add the new node in our jenkins-jobs repository. To see where we hardcode the list of slaves:
git grep isoworker
-
On the new node, run puppet agent -t several times and reboot. After this, you should have a functional isoworker.