mirror of
https://github.com/InsanusMokrassar/JenkinsDocker.git
synced 2025-10-25 00:20:09 +00:00
Compare commits
85 Commits
350ff2e672
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| b6c01c7b0e | |||
| 3f9791ce07 | |||
| a656ca90ab | |||
| ec53741664 | |||
| 3798534998 | |||
| 6733e53fe5 | |||
| 79a414b72a | |||
| 3d52717f48 | |||
| a8271d0a7a | |||
| 99f832a1ad | |||
| 7b08d9a334 | |||
| 244231987e | |||
| cfb94416cb | |||
| 10db2680f0 | |||
| 5d107925d1 | |||
| 87de6d23b5 | |||
| 45f2ca7cd5 | |||
| 979096f2c5 | |||
| 6a631025df | |||
| dd35b735c6 | |||
| 1e1b4c69dc | |||
| c6ea80d86c | |||
| 26ec3ec493 | |||
| 70e4add59e | |||
| 1b59ce46c1 | |||
| ee11983ac7 | |||
| 5115385043 | |||
| 17dc84875c | |||
| cda1afa50e | |||
| a3d42e0a07 | |||
| 4a7ce903fe | |||
| b08e771611 | |||
| 5e9aee88bc | |||
| 2e171b6497 | |||
| 6b15058889 | |||
| 1904c931d6 | |||
| b195a41bc7 | |||
| a83409c347 | |||
| 077d70a269 | |||
| 31b7b8b87f | |||
| e1be082270 | |||
| 2737e72ee3 | |||
| 061a25b758 | |||
| 1b104cc23e | |||
| d769e3c263 | |||
| f36652fa9b | |||
| fa9c544445 | |||
| dd561e2647 | |||
| 80ce34e009 | |||
| 67e6bfe8fd | |||
| a5aa44c5c3 | |||
| 4f30140035 | |||
| 59be34f51d | |||
| a2247ab4d8 | |||
| 0b01640e40 | |||
| bbdfe8e3d6 | |||
| 02ce14fa0d | |||
| 7e6dc35f63 | |||
| bcb2ffd214 | |||
| dc92a08976 | |||
| 8d3a286772 | |||
| 4bd27c9479 | |||
| 66fb9fffb1 | |||
| 8c33e337e5 | |||
| beaf7f8dc5 | |||
| f48f4480cd | |||
| db1a5ac9d2 | |||
| 748b853bf5 | |||
| d79de30636 | |||
| 45eca2af11 | |||
| 42fe541d36 | |||
| 43c262a78b | |||
| aadf96b9d2 | |||
| 3a21256fc2 | |||
| 7ede9ad0dd | |||
| ee43fbb5b0 | |||
| 35e8cd9492 | |||
| a91cdcab8b | |||
| 51496168b2 | |||
| e3987cfcac | |||
| ff179fcc66 | |||
| ba3fead0ee | |||
| 8f34c2134a | |||
| 88900e4a51 | |||
| b77bb3b55e |
23
.github/workflows/docker-publish.yml
vendored
23
.github/workflows/docker-publish.yml
vendored
@@ -4,7 +4,7 @@ on:
|
||||
branches:
|
||||
- master
|
||||
jobs:
|
||||
publishing:
|
||||
publish_jenkins:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -17,5 +17,26 @@ jobs:
|
||||
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,23 +1,28 @@
|
||||
FROM ubuntu:20.04
|
||||
FROM ubuntu:24.04
|
||||
|
||||
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 openjdk-11-jdk zip unzip curl sudo git software-properties-common pass axel
|
||||
RUN apt update && apt -y install wget gnupg2 zip unzip curl sudo git software-properties-common pass axel
|
||||
|
||||
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 1000
|
||||
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
|
||||
|
||||
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/ && axel -a -n 8 --max-redirect=256 http://mirrors.jenkins.io/war-stable/2.361.2/jenkins.war
|
||||
|
||||
11
autoupdate.sh
Executable file
11
autoupdate.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -z "$1" ]; then
|
||||
newVersion="2.528.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,10 +9,11 @@ function assert_success() {
|
||||
fi
|
||||
}
|
||||
|
||||
version="2.361.2"
|
||||
version="2.492.1"
|
||||
image_name=jenkins
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
2
run
2
run
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$HOME/.bashrc"
|
||||
|
||||
export JENKINS_HOME="$HOME/jenkins"
|
||||
|
||||
java $JENKINS_LAUNCH_ARGS -jar ~/jenkins.war
|
||||
|
||||
20
ssh-agent/Dockerfile
Normal file
20
ssh-agent/Dockerfile
Normal file
@@ -0,0 +1,20 @@
|
||||
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
|
||||
11
ssh-agent/autoupdate.sh
Executable file
11
ssh-agent/autoupdate.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/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
|
||||
|
||||
19
ssh-agent/deploy
Executable file
19
ssh-agent/deploy
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/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