目录
- jenkins的一些设置
- 工具设置
- 指定maven配置文件
- 配置jdk
- 配置maven
- 通用配置设置
- 邮件配置
- 系统邮件配置
- 新建maven项目
- 构建触发器
- git配置
- 构建打包
- 构建脚本
- 参数化构建
- 指定参数
- jenkins的构建基本大概都是这5部分
- jenkins 的默认目录
- jenkins 远程主机的操作
- jenkins 集群
- 添加节点
- 配置节点
- 常用插件介绍
- Maven Integration plugin
- Publish Over SSH
- Build Authorization Token Root
- Blue Ocean
jenkins的一些设置
工具设置
指定maven配置文件
配置jdk
配置maven
通用配置设置
邮件配置
系统邮件配置
新建maven项目
需要安装 Maven Integration plugin 才有这个风格的项目
构建触发器
git配置
构建打包
构建脚本
参数化构建
指定参数
设置参数
在脚本等地方可以同过 ${参数名使用参数}
jenkins的构建基本大概都是这5部分
- git地址 #代码仓库
- 构建触发器 #什么时候构建,一般我们都是手动构建
- 构建前环境 #比如把构建需要的一些文件复制过去
- 构建 #构建操作,比如生成jar
- 构建后 # 构建后操作,比如允许jar包
jenkins 的默认目录
里面的workspace是工作目录,拉取的项目就再者里面
jenkins 远程主机的操作
主机A上有jenkins 编译环境啥的,但是程序需要运行在主机B上
在主机B上生成公私钥
复制主机B的公钥到主机A,在主机B上执行
这时候主机A多了一个授权文件, /root/.ssh/authorized_keys,里面写着允许远程免密登录的公钥
如果要主机B也能免密登录主机A ,在主机A上执行
这时候可以使用 scp 复制在两台主机之间复制文件
执行远程主机的脚本(登录到192.168.100.67,然后再 /root/code目录下面, readme.txt 里写入我来了,然后又把它复制到 192.168.100.66 )
ssh root@192.168.100.67,在jenkins 里面不能执行,需要加上 << remotessh
jenkins 集群
目的是多节点并行构建项目,添加了从节点,会通过ssh把jenkins.war,远程代理工具,还有一些比如maven之类依赖不强的工具包复制过去,也就是说从节点很多东西jenkins都会自动配置
添加节点
配置节点
标签就是给主机取得名字
常用插件介绍
Maven Integration plugin
一个构建maven项目的插件(jenkins使用JDK11+以后有不能识别 mvn需要的JDK版本的bug)
Publish Over SSH
能通过ssh 发送一个文件到目标服务器,或者执行一段脚本,在构建前,或者构建中可用(可以使用账号密码)
如果不用这个插件,我们只能试用shell 免登录,然后scp 复制文件和 ssh登录目标服务器执行操作
设置服务器信息
备注:执行nohup java -jar xxx.jar &命名可能会导致命令行不长时间不退出,从而发送文件超时可以改成
nohup java jar xxx.jar >>nohup.out 2>&1 &
或者简写成 nohup java jar xxx.jar &>>nohup.out & 这样会回立即退出
2>&1
-
0
表示stdin标准输入,用户键盘输入的内容 -
1
表示stdout标准输出,输出到显示屏的内容 -
2
表示stderr标准错误,报错内容 -
2>&1
是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
Build Authorization Token Root
远程构建 默认是需要登录的问题,安装插件以后不需要登录
原始是请求:jenkinsUrl/job/jobName/build?token=admin123
安装插件后免密请求地址:jenkinsUrl/buildByToken/build?job=jobName&token=admin123
Blue Ocean
一个ui美化工具,可以让项目界面更加美观,尤其是优化了 pipeline 的流程。
蓝海对界面和交互逻辑做了美化