跳至主要內容

〔Jenkins〕Gitee 自动化构建

大林鸱大约 4 分钟DevOpsCI/CD自动化工具

作者的项目代码放置在 gitee 上面,所以需要基于 Gitee 自动化构建。

安装 Gitee 插件

按照下图菜单路径在插件管理中安装 gitee 插件,安装完成后勾选重启 Jenkins 服务。

jenkins安装gitee插件
jenkins安装gitee插件

配置 Gitee

在“系统管理”-“系统配置 System”界面找到“Gitee 配置”位置。

连接名:Gitee

Gitee 域名 URL:https://gitee.com

添加证书令牌,如下图,私人令牌需要在选中的 URL 位置获取

添加证书令牌
添加证书令牌
获取Gitee私人令牌
获取Gitee私人令牌

配置完成后,点击“测试链接”,显示成功即可。

服务器配置

提示

此章节适用于 Linux,如果你的服务器(Jenkins 部署机器)是 Windows,则跳过此章节。

  1. 安装 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 邮箱
  1. 配置

在“系统管理”-“全局工具配置”中找到“Git installations”,修改“Path to Git executable”项为具体安装位置。

  1. 拉取代码

在服务器上将代码拉取下来

#使用git地址,不使用其他协议地址
git clone git@gitee.com:*/*.git
  1. 配置 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 中添加公钥
gitee添加公钥
gitee 添加公钥
  • 4.3. 在 Jenkins 中添加私钥
在 Jenkins 中添加私钥
在 Jenkins 中添加私钥

任务

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

新建Jenkins任务
新建Jenkins任务

之后跳转到 configure 页面

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

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

Gitee WebHook配置
Gitee WebHook配置
  1. 配置构建步骤“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
上次编辑于: