diff --git a/.gitignore b/.gitignore index 9c9642b1d..592a133a2 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,6 @@ target/* .idea *.iml /target +packer_cache/ +*.vmdk +*.ovf diff --git a/vm-images/jenkins/jenkins_build.json b/vm-images/jenkins/jenkins_build.json new file mode 100644 index 000000000..5b1b1a86a --- /dev/null +++ b/vm-images/jenkins/jenkins_build.json @@ -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": [ + " text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ks.cfg" + ], + "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" + ] + }] +} diff --git a/vm-images/jenkins/src/ks.cfg b/vm-images/jenkins/src/ks.cfg new file mode 100644 index 000000000..e659d3c6c --- /dev/null +++ b/vm-images/jenkins/src/ks.cfg @@ -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 </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