mirror of
https://github.com/InsanusMokrassar/JenkinsDocker.git
synced 2025-09-02 22:59:32 +00:00
Compare commits
97 Commits
Author | SHA1 | Date | |
---|---|---|---|
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 | |||
350ff2e672 | |||
24476dcd22 | |||
8ed076c54b | |||
47a40ebad4 | |||
7de26107eb | |||
9ca4b31975 | |||
97cc2017a6 | |||
30639ff2e2 | |||
dc5f15406f | |||
06db7ae454 | |||
7f247296a5 | |||
f254414291 | |||
039e8e21e1 |
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.346.1/jenkins.war
|
||||
|
11
autoupdate.sh
Executable file
11
autoupdate.sh
Executable file
@@ -0,0 +1,11 @@
|
||||
#!/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,10 +9,11 @@ function assert_success() {
|
||||
fi
|
||||
}
|
||||
|
||||
version="2.346.1"
|
||||
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