
〔Jenkins〕Gitee 自动化构建
大约 4 分钟
作者的项目代码放置在 gitee 上面,所以需要基于 Gitee 自动化构建。
安装 Gitee 插件
按照下图菜单路径
在插件管理中安装 gitee 插件,安装完成后勾选重启 Jenkins 服务。

配置 Gitee
在“系统管理”-“系统配置 System”界面找到“Gitee 配置”位置。
连接名:Gitee
Gitee 域名 URL:https://gitee.com
添加证书令牌,如下图,私人令牌需要在选中的 URL 位置获取


配置完成后,点击“测试链接”,显示成功即可。
服务器配置
提示
此章节适用于 Linux,如果你的服务器(Jenkins 部署机器)是 Windows,则跳过此章节。
- 安装 Git
如果服务器不安装 Git,后面 Jenkins 在绑定 Gitee 仓库地址时,会报错“无法连接仓库”
yum install git
# 验证
git --version
# 安装位置
which git
# 设置全局用户名、密码、邮箱
git config --global user.name 用户名
git config --global user.password 密码
git config --global user.password 邮箱
- 配置
在“系统管理”-“全局工具配置”中找到“Git installations”,修改“Path to Git executable”项为具体安装位置。
- 拉取代码
在服务器上将代码拉取下来
#使用git地址,不使用其他协议地址
git clone git@gitee.com:*/*.git
- 配置 ssh,只有配置之后才能够访问私有仓库
- 4.1 生成公钥和私钥
#进入到刚刚拉取的代码目录的.git文件夹下
#查看你当前的remote url,如果你拉取时使用的git协议地址,则此时应该就是git协议的地址
git remote -v
git ls-remote -h git地址
#生成公钥和私钥,输入以下命令后,一直回车即可
ssh-keygen -t rsa
#上述命令会在~/.ssh文件夹下生成id_rsa.pub(公钥)和id_rsa(私钥)文件
- 4.2. 在 gitee 中添加公钥

- 4.3. 在 Jenkins 中添加私钥

任务
新建一个自由风格的软件项目类任务,如下图

之后跳转到 configure 页面
- 勾选丢弃旧的构建选项
- 点击页面左侧“代码管理”菜单项
- 2.1 勾选 Git
- 2.2 输入 Repository URL,这是项目的仓库地址(如果出现错误,你需要判断 Credentials 中的邮箱和密码是否正确,另外还需要服务器中已经按照 git。如果还是不行,那你需要看一看是不是使用的生成私人令牌的账户,因为有时使用手机号作为账号)
- 配置构建触发器,注意要生成 WebHook 密码

- Gitee 配置 WebHook
需要使用公网 IP 或者域名,因为 Gitee 需要给你发送消息。

- 配置构建步骤“Build Steps”,这里选择执行 shell 脚本

至此,全部配置完成。
说明
作者的项目中有前后端,对于 vue 项目,需要在插件管理中安装nodejs 插件,需要修改“Build Steps”步骤,我的配置如下
cd 我的vue工程目录
git pull
npm install
npm run docs:build
上述脚本中打包“npm run docs:build”时报错:Segmentation fault,这应该是内存不够,对于云服务器来讲,可以通过增加交换空间解决这个问题。当然,也有可能时 node 版本太低,但是 CentOS7 中升级 node 版本很麻烦。 以下是来自网络的解决步骤:
#linux中正常的交换空间大小为内存的1.5倍
#1、dd 从/dev/zero设备复制出一个2G大小的文件/var/swap.1
/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=2048
#2、mkswap设置交换文件 /var/swap.1
/sbin/mkswap /var/swap.1
#3、swapon启用交换分区 /var/swap.1
/sbin/swapon /var/swap.1