Jenkins安装及项目配置
前言
本篇文章将介绍Jenkins的安装及项目配置的具体方法,同时增加Jenkins用户管理的部分。
其中有些操作步骤则直接给出的参考文档,通过参考文档即可完成相应的步骤。
Jenkins中文官网:Jenkins 用户手册
一、Jenkins安装
Jenkins由Java语言编写而成,安装包即是一个war包。因此,Jenkins的运行启动依赖于Java环境,同时,它是免安装的。
1.1 安装JDK
linux安装jdk8_最后d轻语的博客-CSDN博客_linux安装jdk
1.2 安装 Maven(后端打包需要)
这里需要注意一下,如果你不需要通过Jenkins来打包后端项目,则无需安装Maven。
Linux安装maven(详细教程) - 付宗乐 - 博客园 (cnblogs.com)
1.3 安装Git
在Linux系统上安装Git_一条小渣渣的博客-CSDN博客_linux安装git
1.4 安装NodeJS(前端打包需要)
这里需要注意一下,如果你不需要通过Jenkins来打包前端项目,则无需安装NodeJS。
Linux 如何安装 nodejs_疯魔coding君的博客-CSDN博客_linux安装nodejs
1.5 安装Jenkins
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 中文
二、Jenkins配置
当你安装完成Git、Maven、NodeJS之后,如果你需要让Jenkins使用它们,则还需要安装对应的插件。
2.1 下载必要的插件
点击 系统管理 --> 插件管理 --> 可选插件,搜索安装即可。
2.1.1 安装Git
2.1.2 安装NodeJS
2.1.3 安装Maven
安装完成之后,重启Jenkins。
重启方式:Jenkins访问地址,拼接 /restart 即可。
2.2 配置JDK、Git等
点击 系统管理 --> 全局工具配置。
2.2.1 配置JDK(填写JDK安装路径即可)
2.2.2 配置Git(无需填写Git地址,Git命令全局可用)
2.2.3 配置Maven(填写Maven安装路径即可)
2.2.4 配置NodeJS(填写NodeJS安装路径即可)
三、项目配置
3.1 配置前端项目
## 防止打包结束后进程被杀死
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
3.2 配置后端项目
这里需要注意一下,如果是单体项目,直接 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 ]; thenecho "=========== 项目未启动!"
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 &
3.3 启动项目![](/assets/blank.gif)
四、用户权限管理
4.1 用户管理
4.1.1 Jenkins用户列表
在Jenkins的用户列表中,可以看到所有用户(jenkins用户、有提交记录的git用户)。
4.1.2 用户管理
在 系统管理 --> 管理用户 模块中,才能管理jenkins用户。
4.2 权限管理
4.2.1 下载权限控制插件
Jenkins 自身的权限控制颗粒度较大,无法适应细粒度的权限管理。因此,我们通过
Role-based Authorization Strategy 插件来做权限控制。
4.2.2 使用权限控制插件
修改授权策略,使用Role-Based管理授权。
4.2.3 创建角色、配置权限
4.2.4 给用户分配角色
Jenkins安装及项目配置相关推荐
- 【记录】jenkins 安装及环境配置(二)
[记录]jenkins 安装及环境配置(二) Jenkins插件安装 Jenkins环境配置 maven配置 JDK配置 方案一 方案二 git配置 配置SSH连接服务器 添加凭证 上一篇[记录]je ...
- 【记录】jenkins 安装及环境配置(一)
[记录]jenkins 安装及环境配置(一) docker安装 访问Jenkins 获取初次登录密码 centos7 安装 jenkins jenkins 环境配置 docker安装 # 下载Jenk ...
- Jenkins安装至项目发布全流程
一.Jenkins安装 1.安装JDK Jenkins需要依赖JDK,所以先安装JDK1.8 yum install java-1.8.0-openjdk* -y 示例安装目录:/usr/lib/jv ...
- vscode中安装webpack_webpack项目配置流程
最近突然发现前端特别好玩,就当做给自己放个小假,试着记一点前端的笔记. 自学vue.js时遇到的webpack项目配置,感觉操作有点琐碎,而且由于笔者看的教程的年代比较久远,许多步骤和指令都已经有变化 ...
- Jenkins安装以及邮件配置
Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知. 什么叫持 ...
- Jenkins安装和初始化配置
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 所以安装Jenkins包含安装相应的jdk环境 ...
- jenkins安装maven及配置
上一篇:https://blog.csdn.net/z19799100/article/details/115028143 一.安装maven 1.下载 maven官网:http://maven.ap ...
- iOS 之 安装pods 项目配置 及删除项目中的pods
听朋友说项目中用了pods,觉得很高大上,这两天终于有时间来学习了 我也是看了很多资料,感谢那些帮助我的 ^-^,简单介绍下我在安装过程中的步骤和盲区 基于pods安装是用的终端 很多人大概不是很会使 ...
- jenkins安装(用户配置)(2)
1安装rebulider(再次构建可以少写很多参数)插件 2安装safe restart安全重启 3系统管理-Configure Global Security-安全矩阵 添加admin用户给与全部权 ...
最新文章
- mysql中添加外键属性_Python将值插入外键属性(MYSQL)
- openMP的一点使用经验 四
- git创建与管理远程分支
- web项目中遇到的Maven包依赖冲突问题解决
- 时间序列模型(ARIMA模型)
- 走近人脸识别:时代趋势下的弄潮儿
- 矩阵连乘问题算法思想_AI自然语言处理算法岗常见面试题(一)
- Java拾遗:007 - 代理模式与动态代理
- 指针写字符比较c语言,利用指针进行字符串大小比较出现的问题
- 循环冗余校验CRC及对应例题
- 计算机四级考448分算低吗,英语4级成绩,四级300多成绩单有用吗。
- css rgb转16进制,jquery获取元素颜色css('color')的值返回RGB。如何转十六进制
- 【阶段二】Python数据分析Pandas工具使用07篇:探索性数据分析:数据的描述:数据的集中趋势
- 影响内存频率的几个因素
- 长沙理工大学ACMore编程协会2018年新生赛(重现赛)
- java 横版游戏开发_用MyEclipse的Java Project开发仿DNF横版格斗游戏
- 最新spark函数大全
- 淘宝联盟pub平台又开始一轮新的升级
- SystemVerilog HVL:面向对象编程(Object Oriented Programming, OOP)
- bim机电建模下载丨Revit Mep线管连接件中心线画法