一、前言

最近在做运营商的上云,使用云道做的代码构件和打包,以及流水线等。通过对日志发现就是使用jenkins做的改造而来。 Jenkins 是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。下面对Jenkins做个简单介绍。

二、jenkins工作原理

三、安装与配置

3.1 基础服务安装配置

提前安装好下面软件服务:

软件版本路径
java11.0.7/opt/jdk-11.0.7
Git2.9.5/opt/git
Maven3.3.9/opt/apache-maven-3.3.9

如下图:

3.2 jenkins安装

  1. 下载jenkins

下载地址: http://updates.jenkins-ci.org/download/war/

  1. 启动

执行如下命令

nohup java -jar jenkins.war &

如果需要修改端口,需要增加: --httpPort=8888

如果启动过程中遇到下面错误

这个是因为服务器缺少字体工具,需要执行下面命令进行安装。

yum install fontconfig

启动成功后,提示如下:

3.3 jenkins配置

  1. 初始化

浏览器访问,由于我本地在虚拟机中部署,IP为:192.168.33.10,启动时候指定了端口8080,访问地址为: http://192.168.33.10:8008 ,第一次访问显示如下,需要稍等片刻。

等加载成功后,提示如下:

如提示路径,或者启动成功后日志中提示,从服务器上获取初始密码。

  1. 自定义jenkins

点击继续后,显示如下:

我本地选择了【安装推荐插件】,点击后会进入安装界面

  1. 创建管理用户

  1. 实例配置

配置完成后,提示已就绪

3.4 插件安装

进入控制台后,显示如下:

进入管理界面,点击左边【Manage Jenkins】

如上图,选择点击【Manage Plugins】

  1. 安装gitee、Deploy to container、Publish Over SSH

如下所示,搜索对应的插件后,点击下面的【Download now and install after restart】

  1. 配置组件

进入管理界面,点击【Configure System】

分别配置如图标注的几项。

  1. 配置gitee

链接名:输入你想要的名字,这个名字无所谓,后面只是做显示作用
Gitee 域名 URL:输入码云完整URL地址,https://gitee.com(码云私有化客户输入部署的域名),一般填https://gitee.com即可
证书令牌:左边选项点击【添加】,界面如下

Domain:选择全局凭据(inrestricted)
类型:选择Gitee API 令牌
范围:根据你个人想要这个凭据在哪个范围可使用,我选的是全局
Gitee APIV5 私人令牌:输入你的码云私人令牌,获取地址 https://gitee.com/profile/personal_access_tokens
ID、描述:自己随便填,也是作为显示使用而已

添加完成后,选择刚自己添加的这个令牌

点击【测试链接】,如上图提“成功”。

  1. Publish Over SSH

点击后,如下图:

在系统设置这里,我们只需要设置最后面的一项,配置远程服务器地址,
即我们代码最终运行的服务器地址信息,就像我们之前手动部署时使用xshell登录Linux服务器一样,当然这里是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后面我们配置自动化部署做准备。

Passphrase: 服务器密码
name: 根据自己情况来命名
Hostname:服务器地址
Username:登陆服务器帐号
Remote Directory:代码通过ssh传输后,服务器上存放的地址

3.5 全局配置

  1. 基础配置

进入管理界面,点击左边【Configure Global Security】

如上图说是选择配置

  1. 工具配置

maven配置

jdk配置

git配置

四、基本使用

这里我们就以构件和打包一个项目做为示例:

进入控制台,点击左边【新建Item】

然后输入任务名称,选择【Freestyle project】

4.1 General

4.2 源码管理

Repository URL: 远程gitee代码的URL
Credentials:登陆凭据,选择前面配置的凭据
指定分支:选择代码分支

4.3 构件触发器

  1. 生成webHook密码

点击【生成】按钮,将生成的密码贴到gitee项目中的webHook密码,如下所示:

4.4 构件

选择【调用顶层Maven目标】

目标:maven clean 清理打包

4.5 构件后操作

1.构建后操作的意思是,jar打包好后,要将jar/war发送到哪里服务器,发送后和启动等操作。
2.这里需要提前在需要部署的服务器上配置好路径,写好启动和停止项目的脚本,并设置为可以执行的脚本,其实就是我们平时在Linux上手动部署项目操作的脚本。

4.6 测试

构件过程如下:

构件历史

服务器jar包生成情况