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 \
|
RUN echo \
|
||||||
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
|
"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" |
|
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list >/dev/null
|
||||||
tee /etc/apt/sources.list.d/docker.list >/dev/null
|
|
||||||
|
|
||||||
RUN apt-get update
|
RUN apt-get update
|
||||||
RUN apt-get install -y docker-ce-cli
|
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
|
#Install OpenSSL
|
||||||
RUN apt-get install -y openssl
|
RUN apt-get install -y openssl
|
||||||
|
|
||||||
|
19
Jenkinsfile
vendored
19
Jenkinsfile
vendored
@ -11,13 +11,18 @@ pipeline {
|
|||||||
beforeAgent true;
|
beforeAgent true;
|
||||||
branch 'main'
|
branch 'main'
|
||||||
}
|
}
|
||||||
|
environment {
|
||||||
|
def tag = sh(returnStdout: true, script: 'git rev-parse --short=10 HEAD').trim()
|
||||||
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('Login') {
|
stage('Login') {
|
||||||
environment {
|
environment {
|
||||||
DOCKER_HUB_CREDENTIALS = credentials('docker-hub-fah16145')
|
DOCKER_HUB_CREDENTIALS = credentials('docker-hub-fah16145')
|
||||||
|
PACKAGE_REGISTRY_CREDENTIALS = credentials('gitea-package-registry-jenkins-user')
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh 'docker login -u ${DOCKER_HUB_CREDENTIALS_USR} -p ${DOCKER_HUB_CREDENTIALS_PSW}'
|
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') {
|
stage('Build & Push') {
|
||||||
@ -26,12 +31,17 @@ pipeline {
|
|||||||
stages {
|
stages {
|
||||||
stage('Build Default Image') {
|
stage('Build Default Image') {
|
||||||
steps {
|
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') {
|
stage('Push Default Image') {
|
||||||
steps {
|
steps {
|
||||||
sh 'docker push fah16145/jenkins-ssh-docker-agent:latest'
|
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 {
|
stages {
|
||||||
stage('Build Alpine Image') {
|
stage('Build Alpine Image') {
|
||||||
steps {
|
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') {
|
stage('Push Alpine Image') {
|
||||||
steps {
|
steps {
|
||||||
sh 'docker push fah16145/jenkins-ssh-docker-agent:alpine'
|
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
|
# Install tea
|
||||||
RUN apk add --no-cache 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
|
#Install OpenSSL
|
||||||
RUN apk add --no-cache openssl
|
RUN apk add --no-cache openssl
|
||||||
|
|
||||||
#Install git lfs
|
#Install git lfs
|
||||||
RUN apk add --no-cache git-lfs
|
RUN apk add --no-cache git-lfs
|
||||||
RUN git lfs install --system
|
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