5
eth0_ip=`ifconfig eth0|grep 'inet addr'| sed 's/.*inet addr:\([.0-9]*\).*/\1/'`
7
export JENKINS_HOME=/var/lib/jenkins
8
export LAUNCHPAD_LOGIN="$(config-get bot_lp_login)"
9
export JENKINS_URL="http://$eth0_ip:8080/"
10
export JENKINS_USER="$(config-get jenkins_user)"
11
export JENKINS_PASSWORD="$(config-get jenkins_password)"
12
# List of launchpad users or teams allowed to trigger jobs
13
export ALLOWED_USERS="$(config-get allowed_users)"
14
export DEBFULLNAME="$(config-get bot_full_name)"
15
export DEBEMAIL=$(config-get bot_email)
18
#configure jenkins user
19
function configure_jenkins_user() {
20
SALT="$(< /dev/urandom tr -dc A-Za-z | head -c6)"
21
PASSWORD="$SALT:$(echo -n "$JENKINS_PASSWORD{$SALT}" | shasum -a 256 | awk '{ print $1 }')"
22
mkdir -p $JENKINS_HOME/users/$JENKINS_USER
23
sed -e "s#__USERNAME__#$JENKINS_USER#" -e "s#__PASSWORD__#$PASSWORD#" \
24
$CHARM_DIR/templates/user-config.xml > $JENKINS_HOME/users/$JENKINS_USER/config.xml
25
chown -R jenkins:nogroup $JENKINS_HOME/users
28
if ! [ -d $JENKINS_HOME/users/$JENKINS_USER ]; then
29
configure_jenkins_user
32
apt-get install -y --force-yes bzr-builder debhelper bzr-builddeb python-jinja2
35
function create_jobs() {
36
for job in `ls $CHARM_DIR/templates`; do
37
mkdir -p $JENKINS_HOME/jobs/$job
38
cp $CHARM_DIR/templates/$job.xml $JENKINS_HOME/jobs/$job/config.xml
40
chown -R jenkins.nogroup $JENKINS_HOME/jobs
45
# Ensure all new configuration is picked up.
46
service jenkins stop || true