安装Docker随便根据其他教程安装即可,本文着重讲jenkins的安装与环境配置。
一、安装jenkins
1.运行命令搜索Jenkins
docker serach jenkins
deprecated
是弃用的意思,第一条搜索记录就是告诉我们 jenkins 镜像已经弃用,让我们使用 jenkins/jenkins:lts
镜像名进行拉取。
2.拉取Jenkins镜像
docker pull jenkins/jenkins:lts
docker images #查看镜像
3.启动Jenkins
先在宿主机创建Jenkins的挂载目录
mkdir -p /home/jenkins/workspace
启动容器
docker run -uroot -d --restart=always --privileged=true -p 9001:8080 -p9002:50000 \
-v /home/jenkins/workspace/:/var/jenkins_home/workspace \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
--name jenkins jenkins/jenkins:lts
查看容器
4.访问及注意事项
如果使用的是阿里云或者腾讯云等服务器,需要打开防火墙规则,开放容器映射的宿主机的端口9001,9002。打开后页面
进入容器中查询密码并输入后继续
docker exec -it -uroot jenkins bash # -uroot 是以管理员身份登入容器
cat /var/jenkins_home/secrets/initialAdminPassword
5.安装,安装推荐插件即可。
如此处遇到安装过程中出现一个错误: No such plugin: cloudbees-folder
这是因为缺少 cloudbees-folder
插件,我们下载即可:cloudbees-folder下载地址
下载的 cloudbees-folder.hpi
版本需要对应的匹配jenkins的版本,下载后得到 cloudbees-folder.hpi
文件,接下来我们只需将它拷贝到 Jenkins 的插件目录中即可,插件目录的位置在我们启动 Jenkins 容器时所挂载的宿主机目录/war/WEB-INF/detached-plugins中。我们把下载的文件先上传到宿主机的jenkins空间中
然后我们进入docker的jenkins容器中的挂载目录将cloudbees-folder.hpi
复制到/war/WEB-INF/detached-plugins中
然后重启容器,再次进入jenkins即可。
docker restart jenkins
接前面安装推荐插件后,创建一个jenkins账号,如果不想创建使用默认的admin即可,如果是公网,admin账号需要修改密码。如是新创建的账号就不用。
然后进行jenkins主界面
二、环境配置
1.插件安装
本次使用的是gitee作为代码仓库,需要安装gitee插件
maven 插件:Maven Integration plugin
SSH远程连接插件:Publish Over SSH
JDK在线安装插件:Eclipse Temurin install Plugin
2.环境配置
Gitee
进入jekins的系统设置,添加gitee令牌,如果不使用这个令牌模式,可以后续再新建流水线时再通过用户名和密码添加即可。
将此处生成的令牌复制到jenkins中,添加进去并保存即可。
Maven
进入jenkins的工具设置,选择版本,选自动安装
JDK
之前装的插件的作用就是可以选择自动安装jdk版本,新增安装Install from adoptium.net 模式并选择项目使用的jdk版本,后续会自动安装JDK。
2.构建Maven项目
配置
添加源码仓库的地址,以及配置gitee账号密码后保存
配置maven 构建命令 clean install -Dmaven.test.skip=true
配置远程SSH连接,服务器ip,用户名,密码等,用来将打包好的jar包传输到远程服务器进行部署。
接下来回到流水线那边的配置,连接刚刚配置好的服务器,然后根据你在jenkins的Maven项目打包后的jar包位置来进行配置:
配置后,jenkins服务器得到jar包后传输到服务部署的服务器去执行命令。
点击构建即可进行部署。
最后,构建后日志