04-DevOps-安装并初始化Jenkins

Jenkins由Java语言开发,用于监控持续重复的工作,包括:持续的软件版本发布/测试项目,监控外部调用执行的工作。

Jenkins主要起到一个驱动者,流水线的工作,下游代码拉取,上游生产环境发布、构建,这些工作由Jenkins进行驱动。

切换目录

cd /usr/local

安装wget

sudo yum install wget

下载jdk压缩包,并完成解压缩

wget --no-check-certificate https://manongbiji.oss-cn-beijing.aliyuncs.com/ittailkshow/devops/download/jdk-8u341-linux-x64.tar.gz

下载maven压缩包,并完成解压缩

wget --no-check-certificate https://manongbiji.oss-cn-beijing.aliyuncs.com/ittailkshow/devops/download/apache-maven-3.8.6-bin.tar.gz

解压缩jdk

tar zxvf jdk-8u341-linux-x64.tar.gz

解压缩maven

tar zxvf apache-maven-3.8.6-bin.tar.gz

完成后,会在local目录中新增两个目录jdk和maven

对以上两个目录进行重命名,方便后续操作

mv jdk1.8.0_341 jdk

mv apache-maven-3.8.6 maven

删除压缩包文件(用不到了)

rm -f jdk-8u341-linux-x64.tar.gz

rm -f apache-maven-3.8.6-bin.tar.gz

删除maven自带的settings.xml

cd /usr/local/maven/conf

rm -f settings.xml

拉取新的maven配置文件,这个配置文件更改了包的下载路径,改为阿里云的下载,速度更快。

wget --no-check-certificate https://manongbiji.oss-cn-beijing.aliyuncs.com/ittailkshow/devops/download/settings.xml

具体修改内容说明:

部署Jenkins容器

如果已经存在Jenkins相关内容,先将其删除。

rm -rf /var/jenkins/

docker rm -f jenkins

创建Jenkins需要的文件夹,并授权

mkdir -p /var/jenkins/

chmod -R 777 /var/jenkins/

直接执行容器运行的命令,可能会遇到下载镜像失败的情况,因为网络原因无法成功,可以使用国内的一个镜像仓库,地址:毫秒镜像

使用这个命令去毫秒镜像仓库中找到Jenkins镜像,然后下载到本地。

docker pull docker.1ms.run/jenkins/jenkins:2.442-jdk17

下载完成,使用docker images命令,找到下载的镜像,然后根据镜像ID运行这个镜像。

运行Jenkins容器

复制代码
docker run --name jenkins \--restart=always \--network macvlan1  --ip=192.168.1.241 \-v /var/jenkins/:/var/jenkins_home/ \-v /usr/local/jdk:/usr/local/jdk \-v /usr/local/maven:/usr/local/maven \-e JENKINS_UC=https://mirrors.cloud.tencent.com/jenkins/ \-e JENKINS_UC_DOWNLOAD=https://mirrors.cloud.tencent.com/jenkins/ \-d 镜像ID

macvlan1是《02DevOps基础环境准备》文章中设置的macvlan的名称,192.168.1.241是为Jenkins定义的ip地址。

-v代表了容器挂载的三个目录。

-e代表环境变量,定义插件访问时的地址,从腾讯云下载,提高速度。

通过docker ps命令就可以看到Jenkins已经成功运行

通过命令查看Jenkins启动日志:

docker logs -f jenkins

在日志中找到这个密码,复制上面的密码,在浏览器中数据192.168.1.241:8080(ip:8080)

到这一步Jenkins就安装完成了,但是插件安装的时候一直失败,未找到解决方法,原因大概是网络问题,更换了国内的地址,也没有解决。

相关推荐
十六年开源服务商36 分钟前
WordPress运维服务怎样提供客户服务支持
运维
chxii1 小时前
PHP 配置全解析:Apache vs Nginx 的线程安全差异与 Windows 实战指南
运维·php
想唱rap1 小时前
C++ map和set
linux·运维·服务器·开发语言·c++·算法
fruge2 小时前
前端文档自动化:用 VitePress 搭建团队技术文档(含自动部署)
运维·前端·自动化
z***56562 小时前
Nginx实现接口复制
运维·nginx·junit
一念一花一世界2 小时前
DevOps实战(11) - 使用Arbess+Hadess实现下载制品进行主机部署
ci/cd·jar·devops·arbess·hadess
y***86692 小时前
DevOps在云中的自动化部署
运维·自动化·devops
运维-大白同学2 小时前
2025最全面开源devops运维平台功能介绍
linux·运维·kubernetes·开源·运维开发·devops
梦在深巷、2 小时前
linux系统防火墙之iptables
linux·运维·服务器
踏浪无痕3 小时前
线上偶发 502 排查:用 Netty 成功复现 KeepAlive 时间窗口案例实战(附完整源码)
运维·网络协议