侧边栏壁纸
博主头像
fastjrun博主等级

前大厂工程师,长期从事 Java 开发,架构设计,容器化等相关工作,精通java,熟练使用maven、jenkins等devops相关工具链,擅长容器化方案规划、设计和落地。

  • 累计撰写 70 篇文章
  • 累计创建 47 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Docker部署jenkins

fastjrun
2021-12-09 / 0 评论 / 0 点赞 / 1,377 阅读 / 3,663 字 / 正在检测是否收录...

规划

使用docker方式极简安装jenkins,并配置jdk8、maven、nodejs和docker构建环境,适宜自研、开发、测试和生产部署使用。

镜像

• • jenkins/jenkins:2.321 : 官方镜像,同时支持x86-64和arm64v8,树莓派可用

宿主机

• IP:10.0.1.155
• 基础环境:centos-7.8/centos-7.9+docker-19.03.8
• 配置目录:无
• 配置文件:无
• 数据目录:/opt/server/jenkins/jenkins_home/
• 日志目录:无
• 开放端口:8080,50000
• 网络模式:host

拉取镜像

# x86-64 & arm64v8
docker pull jenkins/jenkins:2.321

软件安装

x86版本

# openjdk8
cd /opt/software
wget https://github.com/AdoptOpenJDK/openjdk8-upstream-binaries/releases/download/jdk8u275-b01/OpenJDK8U-jdk_x64_linux_8u275b01.tar.gz
# cp openjdk目录到当前目录下
tar -zxf OpenJDK8U-jdk_x64_linux_8u275b01.tar.gz
mv openjdk-8u275-b01 openjdk8

# nodejs
cd /opt/software
wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz
tar -xvf node-v14.17.4-linux-x64.tar.xz
mv node-v14.17.4-linux-x64 nodejs

# maven
cd /opt/software
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz --no-check-certificate
tar -xvf apache-maven-3.8.4-bin.tar.gz
mv apache-maven-3.8.4 maven

arm64v8版本

# openjdk8
cd /opt/software
yum -y install java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9 java-1.8.0-openjdk-devel-1.8.0.272.b10-1.el7_9
# cp openjdk目录到当前目录下
cp -r /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.aarch64 openjdk8

rm -rf openjdk8/jre/lib/tzdb.dat
cp /usr/share/javazi-1.8/tzdb.dat openjdk8/jre/lib/tzdb.dat
rm -rf openjdk8/jre/lib/security/cacerts
cp /etc/pki/java/cacerts openjdk8/jre/lib/security/cacerts

# nodejs
cd /opt/software
wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-arm64.tar.xz
tar -xvf node-v14.17.4-linux-arm64.tar.xz
mv node-v14.17.4-linux-arm64 nodejs

# maven
cd /opt/software
wget https://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz --no-check-certificate
tar -xvf apache-maven-3.8.4-bin.tar.gz
mv apache-maven-3.8.4 maven

启动容器

x86版本

mkdir -p /opt/server/jenkins/jenkins_home
chown 1000.1000 /opt/server/jenkins/jenkins_home
docker run -itd --name jenkins \
--net=host \
--privileged=true --restart always \
-e TZ=Asia/Shanghai \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/software:/var/software \
-v /opt/server/jenkins/jenkins_home:/var/jenkins_home \
jenkins/jenkins:2.321

arm64v8版本

mkdir -p /opt/server/jenkins/jenkins_home
chown 1000.1000 /opt/server/jenkins/jenkins_home
docker run -itd --name jenkins \
--net=host \
--privileged=true --restart always \
-e TZ=Asia/Shanghai \
-v $(which docker):/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/software:/var/software \
-v /opt/server/jenkins/jenkins_home:/var/jenkins_home \
jenkins/jenkins:2.321

docker exec -it --user root jenkins bash
root@pi155:/# sed -i 's#http://deb.debian.org#https://mirrors.163.com#g' /etc/apt/sources.list
root@pi155:/# apt-get update
root@pi155:/# apt-get -y install python make g++

配置容器
初始化服务
• 访问地址:http://10.0.1.155:8080
首次访问
image.png
输入密码后,点“继续”按钮
image.png
选择“安装推荐的插件”,进入下一步
image.png
根据网络情况,插件安装的时间各有差异,有可能会比较久。
但网络情况有时候是个比较忧伤的话题,如果确实安装没有什么进展,会显示下面一个令人有些沮丧的界面
image.png
如果安装顺利完成后,自动跳转下一步;如果真得离线了,那就跳过插件安装,也进入下一步如下
image.png
创建用户或者使用admin账户都可以,根据实际情况,继续进入下一步
image.png![image.png]根据实际情况配置jenkins URL,进入下一步
image.png
到这里,提示jenkins已就绪。

配置环境变量

登录jenkins,进入控制台
image.png
点“系统配置”,进入配置界面,在全局属性新增两个环境变量JAVA_HOME和PATH+EXTRA如下:
• JAVA_HOME: /var/software/openjdk8
• PATH+EXTRA: /var/software/openjdk8/bin:/var/software/maven/bin:/var/software/nodejs/bin
image.png
点“保存”按钮。
后续我们就可以直接在容器里使用openjdk8、maven和nodejs了。

删除容器

docker stop jenkins && docker rm jenkins
# 强制删除
docker rm -f jenkins

日常运维

docker start jenkins
docker restart jenkins
docker stop jenkins

备份相关

• 数据目录:opt/server/jenkins/jenkins_home/

关于离线安装

大多数情况下,因为网络原因,我们不得不选择离线安装模式。其实这里的离线安装主要指的就是插件离线安装,应对我们有两种方法:一个方法是通过修改插件更新中心地址,这个可以参考 https://jenkins-zh.cn/tutorial/management/plugin/update-center/ ;另外一个就是用其他方式下载插件,再把插件上传到jenkins。
至于本笔记中需要用到的插件我已经打包如下,下载后解压到/opt/server/jenkins/jenkins_home即可。
https://fastjrun.feishu.cn/file/boxcnXF3CGETwQD4v7drowsB4Yd
另附解压命令供参考

cd /opt/server/jenkins/jenkins_home
tar -zxf plugins.tar.gz
0

评论区