#cloud-config # vim: syntax=yaml write_files: - path: /opt/format-disks permissions: '0700' content: | #!/bin/bash voldata_id="%voldata_id%" voldata_dev="/dev/disk/by-id/virtio-$(echo ${voldata_id} | cut -c -20)" mkfs.ext4 ${voldata_dev} mkdir -pv /var/lib/jenkins echo "${voldata_dev} /var/lib/jenkins ext4 defaults 1 2" >> /etc/fstab mount /var/lib/jenkins - path: /opt/jenkins_vm_entrypoint.sh permissions: '0755' content: | #!/bin/bash -x printenv echo `hostname -I` `hostname` >> /etc/hosts function restart_jenkins() { sudo systemctl restart jenkins sleep 1 echo -n "Restarting jenkins" until $(curl --output /dev/null --silent --head --fail http://localhost:8080/login); do printf '.' sleep 3 done echo sleep 1 } cp ~ubuntu/.ssh/authorized_keys /root/.ssh cat > /etc/apt/apt.conf.d/90curtin-aptproxy<> /etc/inputrc < /etc/apt/sources.list.d/jenkins.list' apt-get update apt-get -y install jenkins mkdir -p ~jenkins/.ssh cp ~ubuntu/.ssh/authorized_keys ~jenkins/.ssh chown -R jenkins:jenkins ~jenkins/.ssh su -l jenkins -c "/opt/jenkins-init-1.sh" restart_jenkins su -l jenkins -c "/opt/jenkins-init-2.sh" restart_jenkins - path: /opt/jenkins-init-1.sh permissions: '0755' content: | #!/bin/bash -x git config --global user.email "jenkins@localhost" git config --global user.name "jenkins" cd ~jenkins cp /etc/skel/.profile . cat > .bashrc < /dev/null rm -f secrets/initialAdminPassword rm -rf users/admin rsync -avP /opt/jenkins/ . git add -A git commit -m 'Set up jenkins user' > /dev/null - path: /opt/jenkins-init-2.sh permissions: '0755' content: | #!/bin/bash -x cd ~jenkins ln -s /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar sleep 20 java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin git java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin ws-cleanup java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin envinject java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin gerrit-trigger java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin robot java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin postbuildscript java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin timestamper java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin build-blocker-plugin java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin build-timeout java -jar jenkins-cli.jar -s http://localhost:8080/ -auth jenkins:jenkins install-plugin influxdb git add -A git commit -m 'Install initial plugins' > /dev/null git clone https://github.com/garyiwu/onap-lab-ci.git cd onap-lab-ci jenkins-jobs update -r jjb - path: /opt/jenkins/jenkins.install.InstallUtil.lastExecVersion content: | 2.46.3 - path: /opt/jenkins/users/jenkins/config.xml content: | jenkins {AQAAABAAAAAwQAGpldGajxw//dhxd53gZGv4w0JnZYDETTLBQdpotQXt02s0lq13YrhyaytbLFMflb98hzWY9YBlDIThZt7u+Q==} all false false default false #jbcrypt:$2a$10$Esc9z/mnK/CQ8crgFbE3/eP1EI6pvzIHRBe3SSik7rrNt.DDftON2 jenkins@localhost runcmd: - /opt/format-disks - /opt/jenkins_vm_entrypoint.sh