Added packer scripts for provisioning Jenkins on CentOS

This commit is contained in:
gesparza3 2019-05-07 10:54:04 -07:00
parent be11c12908
commit 09f08bab33
3 changed files with 141 additions and 0 deletions

3
.gitignore vendored
View file

@ -5,3 +5,6 @@ target/*
.idea
*.iml
/target
packer_cache/
*.vmdk
*.ovf

View file

@ -0,0 +1,51 @@
{
"variables": {
"file": "http://mirrors.ocf.berkeley.edu/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso",
"checksum": "bd43d41e01c2a46b3cb23eb9139dce4b",
"type": "md5",
"non_gui": "false"
},
"builders": [
{
"type": "virtualbox-iso",
"iso_url": "{{ user `file` }}",
"iso_checksum": "{{ user `checksum` }}",
"iso_checksum_type": "md5",
"headless": "{{ user `non_gui` }}",
"output_directory": "builds",
"vm_name": "CentOS7",
"guest_os_type": "RedHat_64",
"disk_size": "10240",
"vboxmanage": [
["modifyvm", "{{.Name}}", "--memory", "2048"],
["modifyvm", "{{.Name}}", "--cpus", "2"],
["modifyvm", "{{.Name}}", "--audio", "none"],
["modifyvm", "{{.Name}}", "--usb", "off"]
],
"http_directory": "src",
"boot_wait": "5s",
"boot_command": [
"<tab> text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ks.cfg<enter><wait>"
],
"ssh_username": "admin",
"ssh_password": "admin",
"ssh_port": 22,
"ssh_wait_timeout": "10000s",
"guest_additions_path": "disable",
"shutdown_command": "echo 'admin' | sudo -S /sbin/halt -h -p"
}
],
"provisioners": [{
"type": "shell",
"inline": [
"sleep 30",
"sudo yum upgrade",
"sudo yum install git -y",
"sudo yum install wget -y",
"sudo yum install java-1.8.0-openjdk-devel -y",
"sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo",
"sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key",
"sudo yum install jenkins -y"
]
}]
}

View file

@ -0,0 +1,87 @@
install
cdrom
lang en_US.UTF-8
keyboard us
timezone UTC
network --bootproto=dhcp
firewall --disabled
rootpw --plaintext packer
user --name=admin --password=admin
auth --enableshadow --passalgo=sha512 --kickstart
selinux --permissive
text
skipx
clearpart --all --initlabel
zerombr
autopart
bootloader --location=mbr
firstboot --disable
reboot
%packages --instLangs=en_US.utf8 --nobase --ignoremissing --excludedocs
@^minimal
@core
-aic94xx-firmware
-atmel-firmware
-b43-openfwwf
-bfa-firmware
-ipw2100-firmware
-ipw2200-firmware
-ivtv-firmware
-iwl100-firmware
-iwl105-firmware
-iwl135-firmware
-iwl1000-firmware
-iwl2000-firmware
-iwl2030-firmware
-iwl3160-firmware
-iwl3945-firmware
-iwl4965-firmware
-iwl5000-firmware
-iwl5150-firmware
-iwl6000-firmware
-iwl6000g2a-firmware
-iwl6000g2b-firmware
-iwl6050-firmware
-iwl7260-firmware
-libertas-usb8388-firmware
-ql2100-firmware
-ql2200-firmware
-ql23xx-firmware
-ql2400-firmware
-ql2500-firmware
-rt61pci-firmware
-rt73usb-firmware
-xorg-x11-drv-ati-firmware
-zd1211-firmware
%end
%post --log=/root/ks.log
SEE NEXT PICTURE!!!! The security settings of my provider does not allow this content!
%end
%post
echo "admin ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/admin
echo "Defaults:admin !requiretty" >> /etc/sudoers.d/admin
chmod 0440 /etc/sudoers.d/admin
mkdir -pm 700 /home/admin/.ssh
cat <<EOK >/home/admin/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8Y\
Vr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdO\
KLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7Pt\
ixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmC\
P3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcW\
yLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== admin insecure public key
EOK
chmod 0600 /home/admin/.ssh/authorized_keys
chown -R admin.admin /home/admin/.ssh
yum -y update
yum -y remove linux-firmware
%end