github.com/niedbalski/juju@v0.0.0-20190215020005-8ff100488e47/acceptancetests/repository/charms/jenkins-juju-ci/hooks/install (about) 1 #!/bin/bash 2 3 set -eux 4 5 status-set maintenance "Installing: configuring apt" || true 6 SERIES=$(lsb_release -sc) 7 DEB_LINE="http://archive.ubuntu.com/ubuntu/ $SERIES-proposed restricted main multiverse universe" 8 apt-add-repository -y ppa:juju/stable 9 if [[ ! -f /etc/apt/preferences.d/proposed-updates ]]; then 10 cat << EOC | tee /etc/apt/preferences.d/proposed-updates 11 Package: * 12 Pin: release a=$SERIES-proposed 13 Pin-Priority: 400 14 EOC 15 fi 16 if ! grep "$SERIES-proposed" /etc/apt/sources.list; then 17 echo "deb $DEB_LINE" | tee -a /etc/apt/sources.list 18 fi 19 20 status-set maintenance "Installing: installing packages" || true 21 apt-get update 22 apt-get install -y ntp make bzr git lxc 23 24 status-set maintenance "Installing: moving directories to big partition" || true 25 if [[ -n $(df -h | grep /mnt | tr -s ' ' | cut -d ' ' -f 4 | grep G) ]]; then 26 if [[ ! -d /mnt/jenkins ]]; then 27 cp -rp /var/lib/jenkins /mnt 28 mv /var/lib/jenkins /var/lib/jenkins.old 29 ln -s /mnt/jenkins /var/lib/jenkins 30 chown -h jenkins:jenkins /var/lib/jenkins 31 fi 32 if [[ ! -d /mnt/lxc ]]; then 33 cp -rp /var/lib/lxc /mnt 34 mv /var/lib/lxc /var/lib/lxc.old 35 ln -s /mnt/lxc /var/lib/lxc 36 fi 37 if [[ ! -d /mnt/lxd && -d /var/lib/lxd ]]; then 38 cp -rp /var/lib/lxd /mnt 39 mv /var/lib/lxd /var/lib/lxd.old 40 ln -s /mnt/lxd /var/lib/lxd 41 chown -h lxd:lxd /var/lib/lxd 42 fi 43 fi 44 45 status-set maintenance "Installing: setting up jenkins permissions" || true 46 usermod -a -G lxd jenkins || true 47 if [[ ! -f /etc/sudoers.d/91-jenkins ]]; then 48 echo 'jenkins ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/91-jenkins 49 fi 50 chmod 0440 /etc/sudoers.d/91-jenkins 51 52 status-set maintenance "Installing: setting up jenkins ssh" || true 53 test -d /var/lib/jenkins/.ssh/ || mkdir -p /var/lib/jenkins/.ssh/ 54 if [[ ! -f /var/lib/jenkins/.ssh/authorized_keys ]]; then 55 cat /home/ubuntu/.ssh/authorized_keys | tee -a /var/lib/jenkins/.ssh/authorized_keys 56 fi 57 chmod 700 /var/lib/jenkins/.ssh/ 58 chmod 600 /var/lib/jenkins/.ssh/authorized_keys 59 chown -R jenkins:jenkins /var/lib/jenkins/.ssh 60 61 status-set maintenance "Installed" || true