前言

本篇文章将介绍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 启动项目

四、用户权限管理

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安装及项目配置相关推荐

  1. 【记录】jenkins 安装及环境配置(二)

    [记录]jenkins 安装及环境配置(二) Jenkins插件安装 Jenkins环境配置 maven配置 JDK配置 方案一 方案二 git配置 配置SSH连接服务器 添加凭证 上一篇[记录]je ...

  2. 【记录】jenkins 安装及环境配置(一)

    [记录]jenkins 安装及环境配置(一) docker安装 访问Jenkins 获取初次登录密码 centos7 安装 jenkins jenkins 环境配置 docker安装 # 下载Jenk ...

  3. Jenkins安装至项目发布全流程

    一.Jenkins安装 1.安装JDK Jenkins需要依赖JDK,所以先安装JDK1.8 yum install java-1.8.0-openjdk* -y 示例安装目录:/usr/lib/jv ...

  4. vscode中安装webpack_webpack项目配置流程

    最近突然发现前端特别好玩,就当做给自己放个小假,试着记一点前端的笔记. 自学vue.js时遇到的webpack项目配置,感觉操作有点琐碎,而且由于笔者看的教程的年代比较久远,许多步骤和指令都已经有变化 ...

  5. Jenkins安装以及邮件配置

    Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知. 什么叫持 ...

  6. Jenkins安装和初始化配置

    Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1.持续的软件版本发布/测试项目. 2.监控外部调用执行的工作. 所以安装Jenkins包含安装相应的jdk环境 ...

  7. jenkins安装maven及配置

    上一篇:https://blog.csdn.net/z19799100/article/details/115028143 一.安装maven 1.下载 maven官网:http://maven.ap ...

  8. iOS 之 安装pods 项目配置 及删除项目中的pods

    听朋友说项目中用了pods,觉得很高大上,这两天终于有时间来学习了 我也是看了很多资料,感谢那些帮助我的 ^-^,简单介绍下我在安装过程中的步骤和盲区 基于pods安装是用的终端 很多人大概不是很会使 ...

  9. jenkins安装(用户配置)(2)

    1安装rebulider(再次构建可以少写很多参数)插件 2安装safe restart安全重启 3系统管理-Configure Global Security-安全矩阵 添加admin用户给与全部权 ...

最新文章

  1. mysql中添加外键属性_Python将值插入外键属性(MYSQL)
  2. openMP的一点使用经验 四
  3. git创建与管理远程分支
  4. web项目中遇到的Maven包依赖冲突问题解决
  5. 时间序列模型(ARIMA模型)
  6. 走近人脸识别:时代趋势下的弄潮儿
  7. 矩阵连乘问题算法思想_AI自然语言处理算法岗常见面试题(一)
  8. Java拾遗:007 - 代理模式与动态代理
  9. 指针写字符比较c语言,利用指针进行字符串大小比较出现的问题
  10. 循环冗余校验CRC及对应例题
  11. 计算机四级考448分算低吗,英语4级成绩,四级300多成绩单有用吗。
  12. css rgb转16进制,jquery获取元素颜色css('color')的值返回RGB。如何转十六进制
  13. 【阶段二】Python数据分析Pandas工具使用07篇:探索性数据分析:数据的描述:数据的集中趋势
  14. 影响内存频率的几个因素
  15. 长沙理工大学ACMore编程协会2018年新生赛(重现赛)
  16. java 横版游戏开发_用MyEclipse的Java Project开发仿DNF横版格斗游戏
  17. 最新spark函数大全
  18. 淘宝联盟pub平台又开始一轮新的升级
  19. SystemVerilog HVL:面向对象编程(Object Oriented Programming, OOP)
  20. bim机电建模下载丨Revit Mep线管连接件中心线画法

热门文章

  1. 5 Android程序签名打包
  2. 王笑京:智能交通陷入缺乏创新、发展乏力的困境 | 对此我们这样认为
  3. python3中urlopen_详解python3 urllib中urlopen报错的解决方法
  4. 贝叶斯分类算法及其matlab代码
  5. C++11多线程编程--线程创建
  6. cf-379D-New Year Letter
  7. 回调地狱和Promise
  8. javascript回调地狱
  9. api.now is not a function
  10. 老婆结婚三年的10大领悟