1、概述
1.1 历史背景
- 持续集成
多服务或模块间的集成互联,尽早完成,防止后期集成出现大的,复杂的问题
- 持续部署
连续在服务器上部署增量的代码
- 持续交付
不对进行小版本的快速迭代,收集用户反馈信息(可减少项目风险)
1.2 集成构建方式
- 手动构建
- 自动构建
2、环境安装 - windows
- step1:下载Jenkins(-msi文件)
- step2:安装Jenkins
(1)傻瓜式安装
(2)更改工作目录,默认是在c盘
更改jenkins.xml中的 <env name="JENKINS_HOME"value="F:\environment\Jenkins_home"/>
(3)重启Jenkins服务
- step3:配置Jenkins的插件地址
(1)设置镜像地址:
Manage Jenkins — > Maven Plugins —> Advanced,修改Update Site的URL为清华大学开源软件镜像站地址:
http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
(2)设置请求信息:
修改
updates>default.json
文件
https://updates.jenkins.io/download
替换为http://mirrors.tuna.tsinghua.edu.cn/jenkins
;- 把开头的
http://www.google.com/
改为http://www.baidu.com/
。
3、环境安装 - Linux
4、基础环境配置
4.1 基础信息配置
操作步骤,Manage Jenkins —> Global Tool Configuration ,依次配置下方的基础信息
- jdk(一定要jdk11或以上)
- maven
- nodejs
4.2 基本插件安装
Manage Jenkins —> Maven Plugins
- svn/git -- 拉取代码
- maven -- 创建项目
5、后端项目构建(springBoot为基础)
step1:创建项目
step2: 【源码管理】配置svn/git中的代码
step3:【Pre Steps】编译构建之前的操作,需要停止已启动的服务,编写杀死服务的脚本
start stop.bat
@echo off
set char=sample
echo char : %char%
for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %char%`) do (
echo find process %%a %%b
set pid=%%a
set image_name=%%b
)
echo now will kill process : pid %pid%, image_name %image_name%
taskkill /f /pid %pid%
pause
exit
step4:build构建,默认即可,不需要其他的设置
step5:【post Steps】编译构建之后需要启动编译好的jar/war包
注意:如果jdk版本高于当前项目的编译版本,在启动jar包时需要指定运行的jre
cd target
start "sample" C:\project\jdk1.8.0_131\jre\bin\java -jar sample_tracking_proj.jar
注意:设置之后可能在启动jar/war包时,进程被杀死,需要设置一个节点属性值的参数BUILD_ID = DontKillMe
Manage Jenkins —> Manage nodes and clouds
6、前端项目构建(Vue)
step1:【创建项目】
step2:【拉取代码】
step3:【代码构建】
(1)切换目录
(2)下载依赖
(3)build项目
cd C:/Users/Administrator/.jenkins/workspace/sampleUI
#加载依赖
npm config set registry https://registry.npm.taobao.org
npm run build
6、权限分配
插件:Role-based Authorization Strategy
插件安装完成之后,是需要在全局安全配置中将授权策略切换为Role-Based Strategy,才可以通过创建角色的方式去控制权限
(1)创建global角色
Manage Rolesstep1:Manage Roles —》 Global roles —》 Role to add
新建一个角色,然后点击【add】,只有全局“read”的权限
(2)创建项目级角色,根据前缀进行分配
step2:Item roles —》Role to add【项目角色名称】,Pattern【前缀匹配项目】(xxx.*)
点击【add】进行添加
(3) 给用户分配角色,全局角色+项目角色
step1:User/group to add中输入一个用户,点击【add】,分配给该用户角色全局角色
step2:在Item roles分配用户项目权限,User/group to add中输入已有的用户,点击【add】分配权限