1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
===============
babune reborn
===============
This describes re-building babune (the now defunct BAzaar BUilbot NEt) on
top of a jenkaas setup.
Architecture
============
Babune is composed of a jenkins master and slaves providing lxd containers.
All test jobs occur inside a container, only the push to launchpad occur on
the slaves themselves so that the needed credentials are never exposed to
test jobs.
Initial test setup
==================
$ ./setup-jenkaas
This will end display the jenkins url, something like:
Jenkins master is at http://192.168.0.129:8080
Connect there and login with {jenkaas.bot.user}, bzr-jb-bot here.
Go to the configure page for that user and copy the API Token, then:
$ ols-vms config bzr-job-builder jenkaas.bot.password=<API Token>
Alternatively, for local testing purposes, the admin user can replace the
bot user with:
$ ols-vms config bzr-job-builder jenkaas.bot.user=admin
$ ols-vms config bzr-job-builder jenkaas.bot.password=$(ols-vms shell babune cat ~jenkins/.admin-api-token)
The last manual bits are to allow the slave to access the 'secrets' branch:
* create a new ssh key uniquely identifiying the slave with the 'seed-<slave
name>' job,
* add the public key to the bzr-pqm lp user,
* share the secrets branch with bzr-pqm user, from
https://launchpad.net/bzr-buildbot-net/+sharing 'Share with someone' add
bzr-pqm (unless it's already there), (FIXME: This is too brittle, all
https://launchpad.net/~bzr-buildbot-net-dev can see that branch :-/
vila 2016-07-18)
* finish the slave setup by running the 'setup-seeded-<slave name>'
Setup the job builder instance:
$ ols-vms setup bzr-job-builder
You're good to go, edit job descriptions under 'jobs/' then do:
ubuntu@bzr-job-builder:~/jenkaas$ ~/.local/bin/jenkins-jobs update jobs/
|