Jenkins使用规范
公司的现在发布流程使用Jenkins套件,但是现在仍然是开发提交工单,由运维同事手动操作Jenkins来进行发布,流程上占用时间和大量资源。所以发布系统的需求就应运而生。由于之前从来未开发过发布系统,但是用过发布系统,自己也越来越感觉到发布系统的重要性,现在记录下Jenkins的踩坑流程。
依赖安装
Jenkins的使用需要依赖JDK, Git, Maven,所以我已经在机器上安装了。安装参考文章我找了几篇。
JDK: https://www.jianshu.com/p/848b06dd19aa 安装JDK有两种方法,一种是下载gz包,解压后直接配置环境变量;另一种是下载rpm包,通过rpm包进行安装,这样不需要手动配置环境变量
Maven: 二进制包下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/,解压后,配置好环境变量即可
GIt: 由于用yum方式安装,Git的最新版本是1.8,所以需要下载源码包,进行编译安装,才可以安装自己想要的版本,具体参考文章 https://juejin.im/post/5e89739c6fb9a03c677e602a
Jenkins安装和配置
安装Jenkins的方法,可以采用下载war包方式直接运行,这是因为Jenkins本身就是Java语言写成的。下面是Jenkins的具体配置
首次启动会在日志中打印出一个初始密码,这是我们要记住的。打开Jenkins页面后,最好选择第安装推荐的插件选项,这样后面可以省去一些插件找不到的情况。
之后就可以创建自己定义的用户
进入到Jenkins首页之后,就是要去配置全局配置,位置在 Manage Jenkins --- Global Tool Configuration
Maven这里默认就好,具体的maven设置在下面的maven里面。
这里不用选择自动安装,可以提前安装好JDK,然后指定JAVA_HOEM即可。
由于git是编译安装的,Path to Git executable直接默认就好,Jenkins会自动去找到git的执行文件地址。
maven指定之前maven包解压的地址即可。
至此,全局的工具配置就完成了。
可以尝试 New Item创建一个任务。由于是maven项目,我这里就会选择maven project
创建完成后,进入任务主页,进行任务配置,入口在Configure。这里配置主要有这几个点。
Repository URL填写GitHub仓库的Git地址,Credentials配置有两种。一种是用户名密码模式,一种是不用配置直接配置密钥。
用户名密码模式
密钥模式:需要在Jenkins运行机器上生成密钥,然后将公钥配置到GitHub的配置页面上,具体的配置地址是https://github.com/settings/keys,配好之后,Credentials就可以不用选择任何选项了。
然后是build需要写入maven编译,打包命令
最后保存即可。回到任务主页,就可以Build Now.
如果可以在/root/.jenkins/workspace/ 工作目录下看到任务对应的目录,那么说明已经可以从仓库拉下代码并且编译,打包成功。
Jenkins远程发布配置要点
接下来是发布项目。分为本地发布,和外部发布。当然本地发布肯定是不可能的,只是为了测试发布脚本是否正确。所以下面的是发布到其他机器上。需要提前安装一个插件 Publish over SSH
全局配置 Manage Jenkins --- Configuration,找到 Publish over SSH
这里需要提前把jenkins服务所在机器上的公钥上传到目标服务器上,且两台服务器都要开启ssh服务,没有需要安装ssh服务。
然后返回到任务详情页面,进行配置,找到下面的配置
Exec command 可以输入jar包传输到目标服务器后的脚本,命令等。重新构建任务就可以在目标服务器上启动Java服务。至此Jenkins的体验就结束了。当然还有许多配置没有使用,后面有时间会继续发掘。