一、前言
最近在做运营商的上云,使用云道做的代码构件和打包,以及流水线等。通过对日志发现就是使用jenkins做的改造而来。 Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。下面对Jenkins做个简单介绍。
二、jenkins工作原理
三、安装与配置
3.1 基础服务安装配置
提前安装好下面软件服务:
软件 | 版本 | 路径 |
---|---|---|
java | 11.0.7 | /opt/jdk-11.0.7 |
Git | 2.9.5 | /opt/git |
Maven | 3.3.9 | /opt/apache-maven-3.3.9 |
如下图:
3.2 jenkins安装
- 下载jenkins
下载地址: http://updates.jenkins-ci.org/download/war/
- 启动
执行如下命令
nohup java -jar jenkins.war &
如果需要修改端口,需要增加: --httpPort=8888
如果启动过程中遇到下面错误
这个是因为服务器缺少字体工具,需要执行下面命令进行安装。
yum install fontconfig
启动成功后,提示如下:
3.3 jenkins配置
- 初始化
浏览器访问,由于我本地在虚拟机中部署,IP为:192.168.33.10,启动时候指定了端口8080,访问地址为: http://192.168.33.10:8008 ,第一次访问显示如下,需要稍等片刻。
等加载成功后,提示如下:
如提示路径,或者启动成功后日志中提示,从服务器上获取初始密码。
- 自定义jenkins
点击继续后,显示如下:
我本地选择了【安装推荐插件】,点击后会进入安装界面
- 创建管理用户
- 实例配置
配置完成后,提示已就绪
3.4 插件安装
进入控制台后,显示如下:
进入管理界面,点击左边【Manage Jenkins】
如上图,选择点击【Manage Plugins】
- 安装gitee、Deploy to container、Publish Over SSH
如下所示,搜索对应的插件后,点击下面的【Download now and install after restart】
- 配置组件
进入管理界面,点击【Configure System】
分别配置如图标注的几项。
- 配置gitee
链接名:输入你想要的名字,这个名字无所谓,后面只是做显示作用
Gitee 域名 URL:输入码云完整URL地址,https://gitee.com(码云私有化客户输入部署的域名),一般填https://gitee.com即可
证书令牌:左边选项点击【添加】,界面如下
Domain:选择全局凭据(inrestricted)
类型:选择Gitee API 令牌
范围:根据你个人想要这个凭据在哪个范围可使用,我选的是全局
Gitee APIV5 私人令牌:输入你的码云私人令牌,获取地址 https://gitee.com/profile/personal_access_tokens
ID、描述:自己随便填,也是作为显示使用而已
添加完成后,选择刚自己添加的这个令牌
点击【测试链接】,如上图提“成功”。
- Publish Over SSH
点击后,如下图:
在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址,
即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样,当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备。
Passphrase: 服务器密码
name: 根据自己情况来命名
Hostname:服务器地址
Username:登陆服务器帐号
Remote Directory:代码通过ssh传输后,服务器上存放的地址
3.5 全局配置
- 基础配置
进入管理界面,点击左边【Configure Global Security】
如上图说是选择配置
- 工具配置
maven配置
jdk配置
git配置
四、基本使用
这里我们就以构件和打包一个项目做为示例:
进入控制台,点击左边【新建Item】
然后输入任务名称,选择【Freestyle project】
4.1 General
4.2 源码管理
Repository URL: 远程gitee代码的URL
Credentials:登陆凭据,选择前面配置的凭据
指定分支:选择代码分支
4.3 构件触发器
- 生成webHook密码
点击【生成】按钮,将生成的密码贴到gitee项目中的webHook密码,如下所示:
4.4 构件
选择【调用顶层Maven目标】
目标:maven clean 清理打包
4.5 构件后操作
1.构建后操作的意思是,jar打包好后,要将jar/war发送到哪里服务器,发送后和启动等操作。
2.这里需要提前在需要部署的服务器上配置好路径,写好启动和停止项目的脚本,并设置为可以执行的脚本,其实就是我们平时在Linux上手动部署项目操作的脚本。
4.6 测试
构件过程如下:
构件历史
服务器jar包生成情况