本篇文章将介绍Jenkins的安装及项目配置的具体方法,同时增加Jenkins用户管理的部分。
其中有些操作步骤则直接给出的参考文档,通过参考文档即可完成相应的步骤。
Jenkins中文官网:Jenkins 用户手册
Jenkins由Java语言编写而成,安装包即是一个war包。因此,Jenkins的运行启动依赖于Java环境,同时,它是免安装的。
linux安装jdk8_最后d轻语的博客-CSDN博客_linux安装jdk
这里需要注意一下,如果你不需要通过Jenkins来打包后端项目,则无需安装Maven。
Linux安装maven(详细教程) - 付宗乐 - 博客园 (cnblogs.com)
在Linux系统上安装Git_一条小渣渣的博客-CSDN博客_linux安装git
这里需要注意一下,如果你不需要通过Jenkins来打包前端项目,则无需安装NodeJS。
Linux 如何安装 nodejs_疯魔coding君的博客-CSDN博客_linux安装nodejs
1.5.1 下载Jenkins的war包
官网地址如下:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
1.5.2 上传至Linux并运行
注意:
1、你应当准备一个目录用于存放Jenkins的war包和日志文件,例如:/usr/local/jenkins。
2、你使用哪个用户启动Jenkins,Jenkins就会在该用户的home目录下创建一个隐藏文件夹 .jenkins。该文件夹的占用的磁盘空间较大,需要注意磁盘空间挂载情况。同时该目录是可以更改的,具体参考百度。
3、并非任何用户均可启动Jenkins,你应当选择一个拥有项目所在目录权限的用户启动,避免在Jenkins更新项目的时候出现Linux权限问题。
- cd /usr/local/jenkins
- ## 创建Jenkins运行日志文件
- touch jenkins.log
- ## 启动Jenkins
- nohup java -jar jenkins.war --httpPort=9999 > jenkins.log 2>&1
1.5.3 完成安装
浏览器访问 https://127.0.0.1:9999,即可访问jenkins,随后完成解锁。

完成解锁之后,选择安装推荐的Jenkins插件,等待完成初始化。
1.5.4 设置中文
Jenkins中文设置_zh__quan的博客-CSDN博客_jenkins 中文
当你安装完成Git、Maven、NodeJS之后,如果你需要让Jenkins使用它们,则还需要安装对应的插件。
点击 系统管理 --> 插件管理 --> 可选插件,搜索安装即可。

2.1.1 安装Git

2.1.2 安装NodeJS

2.1.3 安装Maven

安装完成之后,重启Jenkins。
重启方式:Jenkins访问地址,拼接 /restart 即可。

点击 系统管理 --> 全局工具配置。

2.2.1 配置JDK(填写JDK安装路径即可)

2.2.2 配置Git(无需填写Git地址,Git命令全局可用)

2.2.3 配置Maven(填写Maven安装路径即可)

2.2.4 配置NodeJS(填写NodeJS安装路径即可)








- ## 防止打包结束后进程被杀死
- BUILD_ID=DONTKILLME
- ## 下载依赖
- npm run install
- ## 打包
- npm run build
- ## 删除原项目文件
- rm -rf /home/data/tomcat-9.0.63/webapps/frontend
- ## 复制新打包的项目文件,注意当前所在的目录即为jenkins的工作目录,例如:/root/.jenkins/workspace/frontend。当然你也可以使用全路径。
- cp -R dist /home/data/tomcat-9.0.63/webapps/frontend
- ## 重启tomcat
- /home/data/tomcat-9.0.63/bin/shutdown.sh && /home/data/tomcat-9.0.63/bin/startup.sh





这里需要注意一下,如果是单体项目,直接 clean install 即可。如果是多模块项目,需要打包对应的子模块,则可以参考如下命令:
clean install -pl scs-nacos -am -amd -Pdev -Dmaven.test.skip=true
表示只打包项目的scs-nacos子模块及其依赖的模块。
clean install -pl scs-biz/scs-biz-device -am -amd -Pdev -Dmaven.test.skip=true
表示只打包项目的scs-biz子模块的scs-biz-device子模块及其依赖的模块。


- ## 防止打包结束后进程被杀死
- BUILD_ID=DONTKILLME
- PID=`jps -l | grep -w "jenkins_test" | awk '{print $1}'`
- if [ !$PID ]; then
- echo "=========== 项目未启动!"
- else
- ## 停止项目
- kill -9 $PID
- fi
- sleep 1
- ## 复制,并替换jar文件
- cp /root/.jenkins/workspace/backend/target/backend.jar /home/jenkins/backend.jar
- ## 重启项目
- nohup java -jar backend.jar > backend.log 2>&1 &



4.1.1 Jenkins用户列表

在Jenkins的用户列表中,可以看到所有用户(jenkins用户、有提交记录的git用户)。
4.1.2 用户管理


在 系统管理 --> 管理用户 模块中,才能管理jenkins用户。
4.2.1 下载权限控制插件
Jenkins 自身的权限控制颗粒度较大,无法适应细粒度的权限管理。因此,我们通过
Role-based Authorization Strategy 插件来做权限控制。

4.2.2 使用权限控制插件

修改授权策略,使用Role-Based管理授权。

4.2.3 创建角色、配置权限



4.2.4 给用户分配角色


