Compare commits
7 Commits
6df34b6236
...
main
Author | SHA1 | Date | |
---|---|---|---|
5944805d27 | |||
355dcb3816 | |||
16f4ca20a1 | |||
5c7e43445a | |||
5f367cc3aa | |||
ece29dd217 | |||
2ca9c9dbe4 |
34
Dockerfile
34
Dockerfile
@ -13,43 +13,11 @@ RUN curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /
|
||||
|
||||
RUN echo \
|
||||
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
||||
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" |
|
||||
tee /etc/apt/sources.list.d/docker.list >/dev/null
|
||||
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list >/dev/null
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y docker-ce-cli
|
||||
|
||||
# Install tea
|
||||
# RUN apt-get install -y git make golang
|
||||
# RUN git clone https://gitea.com/gitea/tea.git
|
||||
# RUN cd tea && make && make install
|
||||
|
||||
# Install flutter
|
||||
RUN apt-get install -y curl git wget \
|
||||
unzip libgconf-2-4 gdb \
|
||||
libstdc++6 libglu1-mesa fonts-droid-fallback \
|
||||
lib32stdc++6 python3 sed
|
||||
|
||||
RUN git clone https://github.com/flutter/flutter.git /usr/local/flutter
|
||||
RUN git config --global --add safe.directory /usr/local/flutter
|
||||
|
||||
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
|
||||
|
||||
RUN chown -R jenkins:jenkins /usr/local/flutter
|
||||
|
||||
# Run flutter doctor and upgrade
|
||||
USER jenkins
|
||||
|
||||
RUN flutter config --no-cli-animations
|
||||
RUN flutter doctor -v
|
||||
RUN flutter channel master
|
||||
RUN flutter upgrade
|
||||
|
||||
RUN dart pub global activate flutter_distributor
|
||||
RUN echo 'export PATH="$PATH:`dart pub global path`"' >>~/.bashrc
|
||||
|
||||
USER root
|
||||
|
||||
#Install OpenSSL
|
||||
RUN apt-get install -y openssl
|
||||
|
||||
|
19
Jenkinsfile
vendored
19
Jenkinsfile
vendored
@ -11,13 +11,18 @@ pipeline {
|
||||
beforeAgent true;
|
||||
branch 'main'
|
||||
}
|
||||
environment {
|
||||
def tag = sh(returnStdout: true, script: 'git rev-parse --short=10 HEAD').trim()
|
||||
}
|
||||
stages {
|
||||
stage('Login') {
|
||||
environment {
|
||||
DOCKER_HUB_CREDENTIALS = credentials('docker-hub-fah16145')
|
||||
PACKAGE_REGISTRY_CREDENTIALS = credentials('gitea-package-registry-jenkins-user')
|
||||
}
|
||||
steps {
|
||||
sh 'docker login -u ${DOCKER_HUB_CREDENTIALS_USR} -p ${DOCKER_HUB_CREDENTIALS_PSW}'
|
||||
sh 'docker login -u ${PACKAGE_REGISTRY_CREDENTIALS_USR} -p ${PACKAGE_REGISTRY_CREDENTIALS_PSW} gitea.fahrecker.com'
|
||||
}
|
||||
}
|
||||
stage('Build & Push') {
|
||||
@ -26,12 +31,17 @@ pipeline {
|
||||
stages {
|
||||
stage('Build Default Image') {
|
||||
steps {
|
||||
sh 'docker build -t fah16145/jenkins-ssh-docker-agent:latest .'
|
||||
sh '''docker build \
|
||||
-t fah16145/jenkins-ssh-docker-agent:latest \
|
||||
-t gitea.fahrecker.com/andreas-personal/jenkins-ssh-docker-agent:latest \
|
||||
.
|
||||
'''
|
||||
}
|
||||
}
|
||||
stage('Push Default Image') {
|
||||
steps {
|
||||
sh 'docker push fah16145/jenkins-ssh-docker-agent:latest'
|
||||
sh 'docker push gitea.fahrecker.com/andreas-personal/jenkins-ssh-docker-agent:latest'
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -40,12 +50,17 @@ pipeline {
|
||||
stages {
|
||||
stage('Build Alpine Image') {
|
||||
steps {
|
||||
sh 'docker build -t fah16145/jenkins-ssh-docker-agent:alpine alpine/'
|
||||
sh '''docker build \
|
||||
-t fah16145/jenkins-ssh-docker-agent:alpine \
|
||||
-t gitea.fahrecker.com/andreas-personal/jenkins-ssh-docker-agent:alpine \
|
||||
alpine/
|
||||
'''
|
||||
}
|
||||
}
|
||||
stage('Push Alpine Image') {
|
||||
steps {
|
||||
sh 'docker push fah16145/jenkins-ssh-docker-agent:alpine'
|
||||
sh 'docker push gitea.fahrecker.com/andreas-personal/jenkins-ssh-docker-agent:alpine'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,40 +8,18 @@ RUN apk add --no-cache docker docker-compose
|
||||
# Install tea
|
||||
RUN apk add --no-cache tea
|
||||
|
||||
# Install glibc compatibility for Flutter/Dart
|
||||
RUN apk --no-cache add ca-certificates wget
|
||||
RUN wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
|
||||
RUN wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.34-r0/glibc-2.34-r0.apk
|
||||
RUN apk add --force-overwrite glibc-2.34-r0.apk
|
||||
RUN rm glibc-2.34-r0.apk
|
||||
|
||||
# Install flutter dependencies
|
||||
RUN apk --no-cache add bash curl git unzip libstdc++
|
||||
|
||||
# Install flutter
|
||||
RUN apk --no-cache add bash curl git ca-certificates wget unzip
|
||||
RUN git clone https://github.com/flutter/flutter.git /usr/local/flutter
|
||||
RUN git config --global --add safe.directory /usr/local/flutter
|
||||
|
||||
ENV PATH="/usr/local/flutter/bin:/usr/local/flutter/bin/cache/dart-sdk/bin:${PATH}"
|
||||
|
||||
RUN chown -R jenkins:jenkins /usr/local/flutter
|
||||
# Run flutter doctor and upgrade
|
||||
USER jenkins
|
||||
|
||||
RUN flutter config --no-cli-animations
|
||||
RUN flutter doctor -v
|
||||
RUN flutter channel master
|
||||
RUN flutter upgrade
|
||||
|
||||
RUN dart pub global activate flutter_distributor
|
||||
RUN echo 'export PATH="$PATH:`dart pub global path`"' >>/etc/profile
|
||||
|
||||
USER root
|
||||
|
||||
#Install OpenSSL
|
||||
RUN apk add --no-cache openssl
|
||||
|
||||
#Install git lfs
|
||||
RUN apk add --no-cache git-lfs
|
||||
RUN git lfs install --system
|
||||
|
||||
|
||||
# TODO: doesnt work still, something about not finding the java binary over ssh
|
||||
# Configure SSH to behave more like Debian - load environment properly
|
||||
#RUN echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config
|
||||
#RUN echo 'UsePAM yes' >> /etc/ssh/sshd_config
|
||||
|
||||
# Add Java to environment file that SSH will read
|
||||
#RUN echo 'PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' >> /etc/environment
|
Reference in New Issue
Block a user