forked from meissa/ModeratorElection
77 lines
2.7 KiB
Bash
Executable file
77 lines
2.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -exo pipefail
|
|
|
|
function main()
|
|
{
|
|
#upgradeSystem
|
|
apt-get update && apt-get -qqy upgrade
|
|
apt-get -qqy install curl git build-essential libz-dev zlib1g-dev
|
|
|
|
#change to main branch for production
|
|
#change to MEapp-development branch for development
|
|
git clone --single-branch --branch main https://repo.prod.meissa.de/meissa/ModeratorElection.git /usr/local/src/ModeratorElection
|
|
|
|
#download gradle
|
|
#gradle_version="8.4"
|
|
#curl -SsLo /tmp/gradle-${gradle_version}-bin.zip https://services.gradle.org/distributions/gradle-${gradle_version}-bin.zip
|
|
#curl -SsLo /tmp/gradle-${gradle_version}-bin.zip.sha256 https://services.gradle.org/distributions/gradle-${gradle_version}-bin.zip.sha256
|
|
|
|
#download graalvm
|
|
#graalvm-community-jdk, v22.0.1 2024-04-16
|
|
graalvm_jdk_version="22.0.1"
|
|
curl -SsLo /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-22.0.1/graalvm-community-jdk-22.0.1_linux-x64_bin.tar.gz
|
|
curl -SsLo /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256 https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${graalvm_jdk_version}/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256
|
|
|
|
#checksum graalvm
|
|
checksum
|
|
|
|
#install graalvm
|
|
graalvm_inst
|
|
|
|
#nativeCompile
|
|
buildproc
|
|
|
|
#cleanupDocker
|
|
rm -f /root/.ssh/authorized_keys
|
|
rm -f /root/.ssh/authorized_keys2
|
|
|
|
apt-get clean
|
|
apt-get -qqy autoremove --purge
|
|
apt-get -qqy autoclean
|
|
rm -rf /var/lib/apt/lists/
|
|
|
|
rm -rf /tmp/*
|
|
|
|
find /var/cache -type f -exec rm -rf {} \;
|
|
find /var/log/ -name '*.log' -exec rm -f {} \;
|
|
|
|
} > /dev/null
|
|
|
|
function checksum() {
|
|
#graalvm
|
|
echo " /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz"|tee -a /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256
|
|
sha256sum -c --status /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz.sha256
|
|
}
|
|
|
|
function graalvm_inst(){
|
|
mkdir /usr/lib/jvm/
|
|
tar -C /usr/lib/jvm/ -xzf /tmp/graalvm-community-jdk-${graalvm_jdk_version}_linux-x64_bin.tar.gz
|
|
dirname_graalvm=$(ls /usr/lib/jvm/|grep -e graa)
|
|
mkdir /usr/lib/jvm/graalvm/
|
|
ln -s /usr/lib/jvm/$dirname_graalvm/bin/ /usr/lib/jvm/graalvm/
|
|
update-alternatives --install /usr/bin/java java /usr/lib/jvm/graalvm/bin/java 0
|
|
echo "export PATH=$PATH:/usr/lib/jvm/graalvm/bin"| tee -a ~/.bashrc
|
|
}
|
|
|
|
function buildproc() {
|
|
cd /usr/local/src/ModeratorElection/
|
|
#build graalvm binary
|
|
./gradlew nativeCompile -Dvaadin.productionMode=true -x processTestAot
|
|
}
|
|
|
|
#source /tmp/install_functions_debian.sh
|
|
DEBIAN_FRONTEND=noninteractive DEBCONF_NOWARNINGS=yes main
|
|
|
|
|
|
|