Installation

hudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT

1. Jenkins

Ref: https://www.jenkins.io/doc/book/installing/linux/

wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null

apt-get update
apt-get install jenkins


 apt-get install libasound2 libc6-x32 libasound2-data
wget https://download.oracle.com/java/18/archive/jdk-18.0.2.1_linux-x64_bin.deb
dpkg -i jdk-18.0.2.1_linux-x64_bin.deb

/etc/bash.bashrc

JAVA_HOME=/usr/lib/jvm/jdk-18
export PATH="$JAVA_HOME/bin:$PATH"

enable local builds

$sudo systemctl edit jenkins

[Service]
Environment="JAVA_OPTS=-Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true"

$sudo systemctl restart jenkins

https

keytool password: sFH4SHdapvgnT5

$ openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out certificate.pem
$ openssl pkcs12 -inkey key.pem -in certificate.pem -export -out certificate.p12                // set same password here
$ keytool -importkeystore -srckeystore ./certificate.p12 -srcstoretype pkcs12 -destkeystore jenkinsserver.jks -deststoretype JKS        // set same password here
Entry for alias 1 successfully imported.
Import command completed:  1 entries successfully imported, 0 entries failed or cancelled
....

$  mv jenkinsserver.jks /var/lib/jenkins/

/etc/systemd/system/multi-user.target.wants/jenkins.service

Environment="JENKINS_HTTPS_PORT=8192"
Environment="JENKINS_HTTPS_KEYSTORE=/var/lib/jenkins/jenkinsserver.jks"
Environment="JENKINS_HTTPS_KEYSTORE_PASSWORD=sFH4SHdapvgnT5

systemctl daemon-reload
systemctl restart jenkins.service

2. android sdk

sudo apt install android-sdk android-sdk-build-tools

3. android sdk tools

https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip
unzip commandlinetools-linux-9477386_latest.zip
mv cmdline-tools/ /usr/lib/android-sdk/
cd /usr/lib/android-sdk/
mv cmdline-tools/ commandlinetools-linux-9477386_latest
mkdir cmdline-tools
mv commandlinetools-linux-9477386_latest cmdline-tools/
cd cmdline-tools
ln -s commandlinetools-linux-9477386_latest latest

sdkmanager --sdk_root="/usr/lib/android-sdk" --install "cmdline-tools;latest"

bash.bashrc

export PATH="$PATH:/usr/lib/android-sdk/cmdline-tools/latest/bin"   

upgrade

  • you may have to tidy some of the directories in /usr/lib/android/sdk

    sdkmanager –install “cmdline-tools;latest” sdkmanager “platform-tools” “platforms;android-29” sdkmanager “build-tools” “build-tools;29.0.3” sdkmanager –licenses sdkmanager –update

    sdkmanager –list sdkmanager –version

4. flutter

Prerequisites

sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev

install

wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.16.5-stable.tar.xz
tar xf flutter_linux_3.16.5-stable.tar.xz
mv flutter flutter_linux_3.16.5-stable
ln -s flutter_linux_3.16.5-stable flutter

setup

bash.bashrc

export PATH="$PATH:/myroot/flutter/bin"   

Gradle installation

wget https://services.gradle.org/distributions/gradle-7.6.1-bin.zip -P /tmp
sudo unzip -d /opt/gradle /tmp/gradle-7.6.1-bin.zip 
sudo ln -s /opt/gradle/gradle-7.6.1 /opt/gradle/latest

vi /etc/profile.d/gradle.sh
export GRADLE_HOME=/opt/gradle/latest
export PATH="$GRADLE_HOME/bin:$PATH"

sudo chmod +x /etc/profile.d/gradle.sh
source /etc/profile.d/gradle.sh

Setup repo environment

  • Manage > System

  • Goto Environment Variables and add

      SETUP   . /working/admin/utils/jenkins-env.sh