From 5bab220db2fcf302b30ceac9993387c818ce54d1 Mon Sep 17 00:00:00 2001 From: Bram Prieshof Date: Sat, 18 Sep 2021 00:10:15 +0000 Subject: [PATCH] Added Mysql CT --- .gitignore | 2 + .vscode/tasks.json | 45 +++ CT-Build/Alpine.Jenkinsfile | 1 + CT-Build/Alpine.yaml | 7 +- CT-Build/Debian.Jenkinsfile | 3 +- CT-Build/Debian.yaml | 74 +++- CT-Build/OtherTesting.yaml | 323 ++++++++++++++++++ .../Configs/BuildJobTemplate.xml | 0 .../Configs/FolderJob.xml | 0 .../Configs/LXCBuilder1.xml | 0 ...thememanager.ThemeManagerPageDecorator.xml | 0 .../{Jenkins => jenkins}/Configs/locale.xml | 0 ...nsci.plugins.golang.GolangBuildWrapper.xml | 0 .../{Jenkins => jenkins}/Scripts/FirstRun.sh | 0 CT-Files/mysql/Configs/config.inc.php | 72 ++++ CT-Files/mysql/Configs/my.cnf | 29 ++ CT-Files/mysql/Configs/php.ini | 82 +++++ CT-Files/mysql/Configs/phpmyadmin.service | 14 + CT-Files/mysql/Scripts/FirstRun.sh | 14 + CT-Files/mysql/Scripts/Init.sh | 15 + Scripts/FirstSetup.sh | 5 +- Scripts/GetExternalResources.sh | 14 + 22 files changed, 692 insertions(+), 8 deletions(-) create mode 100644 .vscode/tasks.json create mode 100644 CT-Build/OtherTesting.yaml rename CT-Files/{Jenkins => jenkins}/Configs/BuildJobTemplate.xml (100%) rename CT-Files/{Jenkins => jenkins}/Configs/FolderJob.xml (100%) rename CT-Files/{Jenkins => jenkins}/Configs/LXCBuilder1.xml (100%) rename CT-Files/{Jenkins => jenkins}/Configs/io.jenkins.plugins.thememanager.ThemeManagerPageDecorator.xml (100%) rename CT-Files/{Jenkins => jenkins}/Configs/locale.xml (100%) rename CT-Files/{Jenkins => jenkins}/Configs/org.jenkinsci.plugins.golang.GolangBuildWrapper.xml (100%) rename CT-Files/{Jenkins => jenkins}/Scripts/FirstRun.sh (100%) create mode 100644 CT-Files/mysql/Configs/config.inc.php create mode 100644 CT-Files/mysql/Configs/my.cnf create mode 100644 CT-Files/mysql/Configs/php.ini create mode 100644 CT-Files/mysql/Configs/phpmyadmin.service create mode 100644 CT-Files/mysql/Scripts/FirstRun.sh create mode 100644 CT-Files/mysql/Scripts/Init.sh create mode 100644 Scripts/GetExternalResources.sh diff --git a/.gitignore b/.gitignore index 294ae77..c5e8d49 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *.tar.xz +*.tar.gz +*.tar /distrobuilder \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..c6c18f4 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,45 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "BuildIMG", + "type": "shell", + "command": " export XZ_DEFAULTS='-T 0'; ./distrobuilder build-lxc CT-Build/${input:Distro}.yaml -o image.variant=${input:BuildVariant} ;rm -f meta.tar.xz; mv ./rootfs.tar.xz /build/template/cache/${input:Distro}-${input:BuildVariant}.tar.xz", + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + }, + { + "label": "SetupImgBuilder", + "type": "shell", + "command": "git clone https://github.com/lxc/distrobuilder distrobuilderSRC; cd distrobuilderSRC; gofmt -s -w .; go build -o ../ -v ./...; cd ../; rm -rf distrobuilderSRC ; bash Scripts/GetExternalResources.sh", + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + } + ], + "inputs": [ + { + "id": "BuildVariant", + "description": "Wich Variant shoud be build", + "type": "promptString" + }, + { + "type": "pickString", + "id": "Distro", + "description": "Wich Distro shoud be used", + "options": [ + "Debian", + "Alpine", + "OtherTesting" + ], + "default": "Debian" + }, + ] +} \ No newline at end of file diff --git a/CT-Build/Alpine.Jenkinsfile b/CT-Build/Alpine.Jenkinsfile index 028d9cc..c1224d1 100644 --- a/CT-Build/Alpine.Jenkinsfile +++ b/CT-Build/Alpine.Jenkinsfile @@ -24,6 +24,7 @@ pipeline { // Setup Env sh '''mkdir $WORKSPACE/REL mv distrobuilder-* distrobuilder + bash Scripts/GetExternalResources.sh ''' } } diff --git a/CT-Build/Alpine.yaml b/CT-Build/Alpine.yaml index 0d52046..c5e9636 100644 --- a/CT-Build/Alpine.yaml +++ b/CT-Build/Alpine.yaml @@ -263,6 +263,7 @@ packages: sets: - packages: - alpine-base + - tzdata action: install - packages: - nano @@ -301,8 +302,10 @@ actions: for svc_name in networking crond; do ln -s /etc/init.d/${svc_name} /etc/runlevels/default/${svc_name} done - types: - - container + + #Set TimeZone + echo "Europe/Amsterdam" > /etc/timezone + ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime mappings: architecture_map: alpinelinux diff --git a/CT-Build/Debian.Jenkinsfile b/CT-Build/Debian.Jenkinsfile index 1376ac4..c2c3026 100644 --- a/CT-Build/Debian.Jenkinsfile +++ b/CT-Build/Debian.Jenkinsfile @@ -1,4 +1,4 @@ -String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins' ] +String[] ImgVariantList = ['minimal', 'default', 'jenkinsbuilder', 'imgbuilder', 'jenkins', 'mysql' ] pipeline { agent { label 'LXCBuilder' } @@ -24,6 +24,7 @@ pipeline { // Setup Env sh '''mkdir $WORKSPACE/REL mv distrobuilder-* distrobuilder + bash Scripts/GetExternalResources.sh ''' } } diff --git a/CT-Build/Debian.yaml b/CT-Build/Debian.yaml index 45ed0b4..d9730eb 100644 --- a/CT-Build/Debian.yaml +++ b/CT-Build/Debian.yaml @@ -882,20 +882,35 @@ files: - path: /opt/Setup generator: copy - source: CT-Files/Jenkins + source: CT-Files/jenkins variants: - jenkins +#FileForMysql +- path: /opt/Setup + generator: copy + source: CT-Files/mysql + variants: + - mysql + packages: manager: apt update: true cleanup: true sets: - #Https Repo pkgs + #Extenal Repo pkgs - packages: - gpg - curl + action: install + early: true + variants: + - jenkins + - mysql + + #Https Repo pkgs + - packages: - ca-certificates action: install early: true @@ -962,13 +977,36 @@ packages: variants: - jenkins +#Mysql pkgs + - packages: + - mysql-server + - php-common + - php-cli + - php-mbstring + - php-xml + - php-mysql + action: install + variants: + - mysql + repositories: - name: sources.list url: |- deb http://deb.debian.org/debian {{ image.release }} main contrib deb http://deb.debian.org/debian {{ image.release }}-updates main contrib deb http://security.debian.org {{ image.release }}-security main contrib - {% if image.variant == "jenkins" %}deb [signed-by=/usr/share/keyrings/jenkins-keyring.gpg] https://pkg.jenkins.io/debian-stable binary/{% endif %} + + - name: jenkins.list + url: |- + deb [signed-by=/usr/share/keyrings/jenkins-keyring.gpg] https://pkg.jenkins.io/debian-stable binary/ + variants: + - jenkins + + - name: mysql.list + url: |- + deb [signed-by=/usr/share/keyrings/mysql-archive-keyring.gpg arch=amd64] http://repo.mysql.com/apt/debian/ {{ image.release }} mysql-8.0 + variants: + - mysql actions: - trigger: post-unpack @@ -995,10 +1033,24 @@ actions: mount -o bind / /mnt rm -rf /mnt/run/* umount /mnt + + #Set TimeZone + echo "Europe/Amsterdam" > /etc/timezone + rm /etc/localtime + ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime # Cleanup temporary shadow paths rm /etc/*- +#Run provided init script +- trigger: post-files + action: |- + #!/bin/sh + bash /opt/Setup/Scripts/Init.sh + rm /opt/Setup/Scripts/Init.sh + variants: + - mysql + - trigger: post-packages action: |- #!/bin/sh @@ -1015,5 +1067,19 @@ actions: variants: - jenkins +#MySQL Repo key +- trigger: post-unpack + action: |- + #!/bin/bash + curl --retry 7 --retry-delay 5 -s http://repo.mysql.com/RPM-GPG-KEY-mysql | gpg --dearmor > /usr/share/keyrings/mysql-archive-keyring.gpg + password=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1) + mkdir -p /opt/Setup + echo $password > /opt/Setup/TempMysqlPasswd + debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password $password" + debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password $password" + debconf-set-selections <<< "mysql-community-server mysql-server/default-auth-override select Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)" + variants: + - mysql + mappings: - architecture_map: debian + architecture_map: debian \ No newline at end of file diff --git a/CT-Build/OtherTesting.yaml b/CT-Build/OtherTesting.yaml new file mode 100644 index 0000000..f5b8cf0 --- /dev/null +++ b/CT-Build/OtherTesting.yaml @@ -0,0 +1,323 @@ +image: + distribution: "alpinelinux" + release: "3.14" + +source: + downloader: alpinelinux-http + same_as: 3.12 + keyserver: keys.openpgp.org +#InitDownloadREPO + url: http://dl-4.alpinelinux.org/alpine/ + keys: + # 0482D84022F52DF1C4E7CD43293ACD0907D9495A + - |- + -----BEGIN PGP PUBLIC KEY BLOCK----- + + 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 + bcgRRcklNr8mTzJH + =ckew + -----END PGP PUBLIC KEY BLOCK----- + +targets: + lxc: + create-message: | + You just created an {{ image.description }} container. + + config: + - type: all + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/sabayon.common.conf + + - type: user + before: 5 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/sabayon.userns.conf + + - type: all + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/common.conf + + - type: user + after: 4 + content: |- + lxc.include = LXC_TEMPLATE_CONFIG/userns.conf + + - type: all + content: |- + lxc.arch = {{ image.architecture_kernel }} + +files: +- path: /etc/hostname + generator: hostname + +- path: /etc/hosts + generator: hosts + +- path: /var/lib/dbus/machine-id + generator: remove + +- path: /etc/netplan/10-lxc.yaml + generator: dump + content: |- + + +- path: /{{ image.variant }} + generator: dump + content: |- + Hello + +- path: /CurrentVariant + generator: dump + content: |- + MyVariant: {{ image.variant }} + + +- path: /root/readme + generator: copy + source: CT-files/{{ image.variant }}/Readme + +- path: /etc/network/interfaces + generator: dump + content: |- + auto eth0 + iface eth0 inet dhcp + hostname $(hostname) + +- path: /etc/inittab + generator: dump + content: |- + # /etc/inittab + ::sysinit:/sbin/openrc sysinit + ::sysinit:/sbin/openrc boot + ::wait:/sbin/openrc default + + # Set up a couple of getty's + ::respawn:/sbin/getty 38400 console + #tty1::respawn:/sbin/getty 38400 tty1 + #tty2::respawn:/sbin/getty 38400 tty2 + #tty3::respawn:/sbin/getty 38400 tty3 + #tty4::respawn:/sbin/getty 38400 tty4 + + # Stuff to do for the 3-finger salute + ::ctrlaltdel:/sbin/reboot + + # Stuff to do before rebooting + ::shutdown:/sbin/openrc shutdown + +- path: /etc/inittab + generator: template + name: inittab + content: |- + # /etc/inittab + ::sysinit:/sbin/openrc sysinit + ::sysinit:/sbin/openrc boot + ::wait:/sbin/openrc default + + # Set up a couple of getty's + ::respawn:/sbin/getty 38400 console + + # Stuff to do for the 3-finger salute + ::ctrlaltdel:/sbin/reboot + + # Stuff to do before rebooting + ::shutdown:/sbin/openrc shutdown + +packages: + manager: apk + update: true + cleanup: true + sets: + - packages: + - alpine-base + action: install + - packages: + - nano + - openssh-server + action: install + variants: + - default + + repositories: + - name: /etc/apk/repositories + url: |- + #StartREPOS + http://dl-4.alpinelinux.org/alpine/v{{ image.release }}/main + http://dl-4.alpinelinux.org/alpine/v{{ image.release }}/community + #EndREPOS + +actions: +- trigger: post-unpack + action: |- + #!/bin/sh + sed -i '/dl-cdn.alpinelinux.org/d' /etc/apk/repositories + +- trigger: post-packages + action: |- + #!/bin/sh + set -eux + + # Rewrite configuration for LXC + sed -i 's/#rc_sys=""/rc_sys="lxc"/' /etc/rc.conf + + # Enable services + for svc_name in bootmisc syslog; do + ln -s /etc/init.d/${svc_name} /etc/runlevels/boot/${svc_name} + done + + for svc_name in networking crond; do + ln -s /etc/init.d/${svc_name} /etc/runlevels/default/${svc_name} + done + types: + - container + +mappings: + architecture_map: alpinelinux diff --git a/CT-Files/Jenkins/Configs/BuildJobTemplate.xml b/CT-Files/jenkins/Configs/BuildJobTemplate.xml similarity index 100% rename from CT-Files/Jenkins/Configs/BuildJobTemplate.xml rename to CT-Files/jenkins/Configs/BuildJobTemplate.xml diff --git a/CT-Files/Jenkins/Configs/FolderJob.xml b/CT-Files/jenkins/Configs/FolderJob.xml similarity index 100% rename from CT-Files/Jenkins/Configs/FolderJob.xml rename to CT-Files/jenkins/Configs/FolderJob.xml diff --git a/CT-Files/Jenkins/Configs/LXCBuilder1.xml b/CT-Files/jenkins/Configs/LXCBuilder1.xml similarity index 100% rename from CT-Files/Jenkins/Configs/LXCBuilder1.xml rename to CT-Files/jenkins/Configs/LXCBuilder1.xml diff --git a/CT-Files/Jenkins/Configs/io.jenkins.plugins.thememanager.ThemeManagerPageDecorator.xml b/CT-Files/jenkins/Configs/io.jenkins.plugins.thememanager.ThemeManagerPageDecorator.xml similarity index 100% rename from CT-Files/Jenkins/Configs/io.jenkins.plugins.thememanager.ThemeManagerPageDecorator.xml rename to CT-Files/jenkins/Configs/io.jenkins.plugins.thememanager.ThemeManagerPageDecorator.xml diff --git a/CT-Files/Jenkins/Configs/locale.xml b/CT-Files/jenkins/Configs/locale.xml similarity index 100% rename from CT-Files/Jenkins/Configs/locale.xml rename to CT-Files/jenkins/Configs/locale.xml diff --git a/CT-Files/Jenkins/Configs/org.jenkinsci.plugins.golang.GolangBuildWrapper.xml b/CT-Files/jenkins/Configs/org.jenkinsci.plugins.golang.GolangBuildWrapper.xml similarity index 100% rename from CT-Files/Jenkins/Configs/org.jenkinsci.plugins.golang.GolangBuildWrapper.xml rename to CT-Files/jenkins/Configs/org.jenkinsci.plugins.golang.GolangBuildWrapper.xml diff --git a/CT-Files/Jenkins/Scripts/FirstRun.sh b/CT-Files/jenkins/Scripts/FirstRun.sh similarity index 100% rename from CT-Files/Jenkins/Scripts/FirstRun.sh rename to CT-Files/jenkins/Scripts/FirstRun.sh diff --git a/CT-Files/mysql/Configs/config.inc.php b/CT-Files/mysql/Configs/config.inc.php new file mode 100644 index 0000000..aac186c --- /dev/null +++ b/CT-Files/mysql/Configs/config.inc.php @@ -0,0 +1,72 @@ +" >> /opt/PhpMyAdmin/blowfish_secret.inc.php +#Set MysqlPassword +mysql -u root -p$TempPassword -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '$NewMysqlPassword'"; +rm /opt/Setup/TempMysqlPasswd \ No newline at end of file diff --git a/CT-Files/mysql/Scripts/Init.sh b/CT-Files/mysql/Scripts/Init.sh new file mode 100644 index 0000000..90d9e53 --- /dev/null +++ b/CT-Files/mysql/Scripts/Init.sh @@ -0,0 +1,15 @@ +#!/bin/bash +#Configure MySQL +rm -rf /etc/mysql/ /etc/my.cnf.d/ /etc/my.cnf +mkdir /etc/mysql/ +touch /etc/mysql/my.cnf.fallback +mv /opt/Setup/Configs/my.cnf /etc/mysql/my.cnf + +#Setup PhpMyAdmin +mkdir /opt/PhpMyAdmin +tar -C /opt/PhpMyAdmin -xzf /opt/Setup/phpmyadmin.tar.gz --strip 1 +rm -rf /opt/Setup/phpmyadmin.tar.gz +mv /opt/Setup/Configs/config.inc.php /opt/PhpMyAdmin/config.inc.php +mv /opt/Setup/Configs/phpmyadmin.service /etc/systemd/system/phpmyadmin.service +chmod +x /etc/systemd/system/phpmyadmin.service +ln -s /etc/systemd/system/phpmyadmin.service /etc/systemd/system/multi-user.target.wants/phpmyadmin.service \ No newline at end of file diff --git a/Scripts/FirstSetup.sh b/Scripts/FirstSetup.sh index f7af14e..6299965 100644 --- a/Scripts/FirstSetup.sh +++ b/Scripts/FirstSetup.sh @@ -36,4 +36,7 @@ BuildImage () { #Build Jenkins Image BuildImage Debian jenkins #Build JenkinsNode (imgbuilder) Image -BuildImage Debian imgbuilder \ No newline at end of file +BuildImage Debian imgbuilder + +#Get resources +bash Scripts/GetExternalResources.sh \ No newline at end of file diff --git a/Scripts/GetExternalResources.sh b/Scripts/GetExternalResources.sh new file mode 100644 index 0000000..fdfed42 --- /dev/null +++ b/Scripts/GetExternalResources.sh @@ -0,0 +1,14 @@ +#!/bin/bash +#Goto ProjectRoot +cd "$( cd "$( dirname "$0" )" &> /dev/null && pwd )/.." + +GetResource () { + local Variant=$1 + local FileName=$2 + local GetAddr=$3 + echo "Getting $FileName for $Variant" + curl -L b--retry 7 --retry-delay 5 "$GetAddr" -o "CT-Files/$Variant/$FileName" +} + +#PhpMyadmin for mysql variant +GetResource mysql phpmyadmin.tar.gz https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-english.tar.gz