mirror of
https://github.com/InsanusMokrassar/JenkinsDocker.git
synced 2025-09-03 07:09:36 +00:00
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
b34b7238e0 |
42
.github/workflows/docker-publish.yml
vendored
42
.github/workflows/docker-publish.yml
vendored
@@ -1,42 +0,0 @@
|
||||
name: Docker
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
publish_jenkins:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Log into registry
|
||||
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_LOGIN }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Update version
|
||||
run: ./autoupdate.sh
|
||||
- name: Deploy
|
||||
run: ./deploy
|
||||
publish_jenkins_ssh-agent:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Log into registry
|
||||
uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_LOGIN }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
- name: Update version
|
||||
working-directory: ./ssh-agent/
|
||||
run: ./autoupdate.sh
|
||||
- name: Deploy
|
||||
working-directory: ./ssh-agent/
|
||||
run: ./deploy
|
21
Dockerfile
21
Dockerfile
@@ -1,28 +1,23 @@
|
||||
FROM ubuntu:24.04
|
||||
FROM ubuntu:20.04
|
||||
|
||||
LABEL maintainer="ovsyannikov.alexey95@gmail.com"
|
||||
|
||||
RUN mv /bin/sh /bin/sh.old && ln -s /bin/bash /bin/sh
|
||||
USER root
|
||||
|
||||
ENV TZ=Etc/GMT
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
RUN apt update && apt -y install wget gnupg2 zip unzip curl sudo git software-properties-common pass axel
|
||||
RUN apt update && apt -y install wget gnupg2 openjdk-8-jdk zip unzip curl sudo git software-properties-common pass
|
||||
|
||||
RUN deluser --remove-home ubuntu
|
||||
RUN mkdir -p /var/jenkins_home/jenkins && cd /var/jenkins_home/ &&\
|
||||
useradd -s /bin/bash -G sudo -d /var/jenkins_home -u 1000 jenkins &&\
|
||||
chmod 777 /tmp
|
||||
|
||||
ENTRYPOINT /var/jenkins_home/run
|
||||
COPY ./run /var/jenkins_home/
|
||||
RUN chown -R jenkins:jenkins /var/jenkins_home
|
||||
|
||||
USER jenkins
|
||||
USER 1000
|
||||
|
||||
RUN curl -s "https://get.sdkman.io" | bash
|
||||
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" &&\
|
||||
sdk install java `sdk ls java | grep librca | grep " 17" | grep -m 1 -Eo "(.?[0-9]{1,2}){3}" | head -1`-librca &&\
|
||||
sdk default java `sdk ls java | grep librca | grep " 17" | grep -m 1 -Eo "(.?[0-9]{1,2}){3}" | head -1`-librca
|
||||
|
||||
RUN cd /var/jenkins_home/ && wget http://mirrors.jenkins.io/war-stable/2.492.1/jenkins.war
|
||||
|
||||
ENTRYPOINT /var/jenkins_home/run
|
||||
VOLUME /var/jenkins_home/jenkins
|
||||
|
||||
RUN cd /var/jenkins_home/ && wget http://mirrors.jenkins.io/war-stable/2.277.4/jenkins.war
|
||||
|
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
newVersion="2.516.1"
|
||||
else
|
||||
newVersion="$1"
|
||||
fi
|
||||
|
||||
sed -i -E "s/[0-9\.]+\/jenkins.war/${newVersion}\/jenkins.war/g" Dockerfile
|
||||
sed -i -E "s/version=\"[0-9\.]+\"/version=\"${newVersion}\"/g" deploy
|
||||
|
13
deploy
13
deploy
@@ -9,11 +9,10 @@ function assert_success() {
|
||||
fi
|
||||
}
|
||||
|
||||
version="2.492.1"
|
||||
image_name=jenkins
|
||||
version="2.277.2"
|
||||
|
||||
assert_success docker build -t $image_name:$version ./
|
||||
assert_success docker tag $image_name:$version insanusmokrassar/$image_name:$version
|
||||
assert_success docker tag $image_name:$version insanusmokrassar/$image_name:latest
|
||||
assert_success docker push insanusmokrassar/$image_name:$version
|
||||
assert_success docker push insanusmokrassar/$image_name:latest
|
||||
assert_success docker build -t jenkins:$version ./
|
||||
assert_success docker tag jenkins:$version insanusmokrassar/jenkins:$version
|
||||
assert_success docker tag jenkins:$version insanusmokrassar/jenkins:latest
|
||||
assert_success docker push insanusmokrassar/jenkins:$version
|
||||
assert_success docker push insanusmokrassar/jenkins:latest
|
||||
|
2
run
2
run
@@ -1,7 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$HOME/.bashrc"
|
||||
|
||||
export JENKINS_HOME="$HOME/jenkins"
|
||||
|
||||
java $JENKINS_LAUNCH_ARGS -jar ~/jenkins.war
|
||||
|
@@ -1,20 +0,0 @@
|
||||
FROM jenkins/ssh-agent:5.38.0-jdk17 as ssh-agent
|
||||
|
||||
LABEL maintainer="ovsyannikov.alexey95@gmail.com"
|
||||
|
||||
USER root
|
||||
|
||||
RUN mv /bin/sh /bin/sh.old && ln -s /bin/bash /bin/sh
|
||||
|
||||
ENV TZ=Etc/GMT
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||
RUN apt update && apt -y install wget gnupg2 zip unzip curl sudo git software-properties-common pass axel
|
||||
|
||||
RUN chmod 777 /tmp
|
||||
|
||||
#USER jenkins
|
||||
|
||||
RUN curl -s "https://get.sdkman.io" | bash
|
||||
RUN source "$HOME/.sdkman/bin/sdkman-init.sh" &&\
|
||||
sdk install java `sdk ls java | grep librca | grep " 17" | grep -m 1 -Eo "(.?[0-9]{1,2}){3}" | head -1`-librca &&\
|
||||
sdk default java `sdk ls java | grep librca | grep " 17" | grep -m 1 -Eo "(.?[0-9]{1,2}){3}" | head -1`-librca
|
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
newVersion="5.38.0"
|
||||
else
|
||||
newVersion="$1"
|
||||
fi
|
||||
|
||||
sed -i -E "s/ssh-agent:[0-9\.]+/ssh-agent:${newVersion}/g" Dockerfile
|
||||
sed -i -E "s/version=\"[0-9\.]+\"/version=\"${newVersion}\"/g" deploy
|
||||
|
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
function assert_success() {
|
||||
"${@}"
|
||||
local status=${?}
|
||||
if [ ${status} -ne 0 ]; then
|
||||
echo "### Error ${status} at: ${BASH_LINENO[*]} ###"
|
||||
exit ${status}
|
||||
fi
|
||||
}
|
||||
|
||||
version="5.38.0"
|
||||
image_name=jenkins-ssh-agent
|
||||
|
||||
assert_success docker build -t $image_name:$version ./
|
||||
assert_success docker tag $image_name:$version insanusmokrassar/$image_name:$version
|
||||
assert_success docker tag $image_name:$version insanusmokrassar/$image_name:latest
|
||||
assert_success docker push insanusmokrassar/$image_name:$version
|
||||
assert_success docker push insanusmokrassar/$image_name:latest
|
Reference in New Issue
Block a user