- Jenkins官网:https://jenkins.io/ 或 https://www.jenkins.io/zh/download/
- Jenkins官网文档:https://www.jenkins.io/zh/doc/
- jenkins安装包:http://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/
- 清华镜像:http://updates.jenkins-ci.org/download/war/
准备工作:以下四个请自行百度
需要Java环境
需要maven
需要git
如果有前端,则需要node.js
一:jenkins安装
1.官网下载Jenkins war包

我们选择2.346.1
2.使用命令启动
nohup java -jar jenkins.war --httpPort=8087 &
可以用如下限制Jenkins占用内存
-server -Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m
3.浏览器打开http://你的服务器ip:8087/
注意: 配置安全组或者防火墙的记得放开端口8087,不然搜不到
4. 找到初始化密码
输出的日志中或者
ls /root/.jenkins/secrets/initialAdminPassword
都可查看密码
填入后下一步
5.启动如下
①:选择安装推荐的插件或者选择插件来安装
除非你非常明确的知道自己需要哪几种插件,不然就安装推荐的插件
可以看到,有部分插件我们用不到,安装完成之后可以通过系统管理-插件管理-来卸载掉
jenkins插件目录:/root/.jenkins
或者选择插件安装
输入用户名密码邮箱
点击开始使用jenkins 就可以使用jenkins了
二:插件
①:Git Parameter
git参数
②:Localization: Chinese (Simplified)
简体中文包
③:SSH server
ssh服务器
④:Build With Parameters
输入框式的参数(可选)
⑤:Persistent Parameter
下拉框式的参数(可选)
⑥:SSH
ssh配置
⑦:Publish Over SSH
通过SSH发送构建好的jar包或者war包之类的东西
⑧:Role-based Authorization Strategy
(可选用户权限)
①④⑤在购机按的项目General里面:
③⑥⑦在系统管理-系统配置里面
⑦:配置好以后也在构建好的项目-构建后操作里面配置内容
三:配置
①:配置国内的清华镜像源 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
入口:系统管理-插件管理-高级
②:配置maven
入口:系统管理-全局工具配置-maven配置/以及最下面的maven安装
②:maven的历史版本下载(可不看)
官网:https://maven.apache.org/
③:配置jdk
参照我之前写的搭建好jdk:https://blog.csdn.net/kawayiyy123/article/details/106475433
然后配置jdk
④:配置git
yum -y install git
which git
显示路径为/usr/bin/git
⑤:配置node.js
官方网址:https://nodejs.org/en/download/
可参照另外的博客进行安装,这边只是给出大概的 一些镜像和配置并没有配置,是不完全版本
[root@VM-4-12-centos local]# tar -xf node-v16.10.0-linux-x64.tar.xz
[root@VM-4-12-centos local]# mv node-v16.10.0-linux-x64 /usr/local/nodejs
[root@VM-4-12-centos local]# vi /etc/profile
#node
export NODE_HOME=/usr/local/nodejs
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules
[root@VM-4-12-centos local]# source /etc/profile
[root@VM-4-12-centos local]# node -v
v16.10.0
[root@VM-4-12-centos local]# npm -v
7.24.0
⑥:配置凭据参数
入口:
⑦:配置Publish over SSH(可以略过)
进入/root/.ssh目录,看看里面 有没有公钥和私钥
如没有
## 创建ssh key
ssh-keygen -t rsa
## 一路回车
查看/root/.ssh/文件夹目录
cd /root/.ssh/
查看ssh key 私钥
cat /root/.ssh/id_rsa
id_rsa 私钥
id_rsa_pub 公钥
注意:这里是私钥
⑧:配置SSH Server
⑨:配置SSH remote hosts(可以略过,具体配置的时候可以增加)
ssh的远程主机配置(就是你要发送到哪一台)
四:项目构建
1. 后端
新建一个项目
①:General
②:源码管理
③:构建触发器 不做任何配置 略过
④:构建环境 不做任何配置 略过
⑤:构建
⑥:构建后操作
服务器的路径跟配置的路径不一致,注意
五:遇到的一些小问题
①:服务器接收不到jenkins发送来的jar包
不是全路径,是当前项目下的路径
看上述第六步:构建后操作,第一个和第二个路径有误,是相对路径,jenkins默认在本项目下去操作
②:服务器存储jar包路径跟自己配置的不一致
已经构建成功,但是自己目录下没有,原因
假如你项目构建配置的是/usr/local/workspace;那么你的jar包被传输到 /usr/local/jenkins/usr/local/workspace里面去了
③:更改jenkins主目录路径
Jenkins储存所有的数据文件在这个目录下. 你可以通过以下几种方式更改:(我采用第一种)
-
使用你Web容器的管理工具设置JENKINS_HOME环境参数.
打开tomcat的bin目录,编辑catalina.sh文件。
在# OS specific support. $var must be set to either true or false.上面添加:export JENKINS_HOME=“/var/lib/jenkins”
在引号中填入你的路径。 -
在启动Web容器之前设置JENKINS_HOME环境变量.
用root用户登录
编辑profile文件:vi /etc/profile
在最后加入:export JENKINS_HOME=xxxx
保存,退出后执行:source /etc/profile
让配置生效 -
(不推荐)更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件.
更改Jenkins.war(或者在展开的Web容器)内的web.xml配置文件)<env-entry> <env-entry-name>HUDSON_HOME</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value></env-entry-value> </env-entry>
④:ssh server 和 git连接不上
(1):ssh server连接不上,端口使用不是22
解决思路:换成内网ip,然后端口改成22后成功
(2):git连接不上(一个内网下看本篇,不是的请检查自己的凭据配置(对应gitlab/git/gitbit用户名密码之类的对不对))
其他的服务器都能连接上,唯独本台连接不上,原因:在同一个内网下不能用公网ip
报错如下:
Failed to connect to repository : Command "/usr/local/git.2.37.0/bin/git ls-remote -h -- 你的ip.git HEAD" returned status code 128:
stdout:
stderr: fatal: 无法访问 'http://外网ip:端口/r/项目.git/':Failed connect to 外网ip:端口; 拒绝连接
解决方式:换成内网ip,使用ifconfig查看即可
⑤:jenkins执行.sh脚本不生效
按照这个格式来写
https://blog.csdn.net/sinat_29821865/article/details/119906879
六: jenkins的主目录结构
https://blog.csdn.net/qq_46373211/article/details/126718306
七:jenkins的一些插件
①:Multiple SCMs
此插件可以在项目构建时选多个git,并指定分支
下载完以后构建选择
选择本地子目录
签出到子目录
写上对应的名称,上述配置跟源码配置的Git配置差不多,唯一差距的是Additional Behaviours
②:用户权限分配 Role-based Authorization Strategy
下载插件后使用对应的插件
退出当前目录,找到如下打开
创建全局角色和项目角色,全局角色必须创建,权限要分配好,不要全给;项目权限看情况给
简单说一下item role的语法:
- 将 pattern 设置为 “Ruoyi-.*”,则该角色将匹配名称以 “Ruoyi-” 开头的所有任务;
- 将 pattern 设置为 “.*Ruoyi”,则该角色将匹配名称以 “Ruoyi” 结尾的所有任务;
- 也可以匹配文件夹,可以使用以下表达式匹配文件夹 “^foo/bar.*”;
一个项目角色多个项目可以使用 |来区分
比如我有一个 ruoyi系列项目,一个modbus4j系列项目
分配:ruoyi.*|modbus4j.*
.*是通配
分配好以后在对应的item roles里面点击,出现如下项目则成功
分配好之后我们可以用新建的root用户登录,就会显示出分配项目角色里面对应的项目
拓展:新建用户(熟知的可以略过)
在这里插入图片描述
输入对应信息后新建成功