Jenkins自动化集成

什么是 Jenkins

https://jenkins.io/

安装和启动

将下载完的 jenkins.war 上传至服务器

1
scp /Users/xwill/Downloads/jenkins.war root@115.28.136.223:/usr/local/jenkins

启动 Jenkins

1
java -jar jenkins.war

这里默认服务器上已经装了 JDK,服务启动之后,在 8080 端口访问,进行一些列配置后,jenkins 搭建完毕

集成 github

首先配置 Github 相关内容
Github 个人设置中生成一个 Personal Access Token

在 Project Setting 中添加 Jenkins Hook URL

配置 Jenkins 的 Github 配置

找到 Github 区域,API URL 默认不变,点击 Add 创建一个新的证书

Kind 选择 Secret text,Secret 填写 Personal Access Token

系统配置完后,我们可以新建项目了
在 jenkins 后台新建 freestyle project

在 general 面板勾选 Github project,填入 Project url

在 Source Code Management 面板勾选 Git,填入 Repository URL,其他保持默认即可

在 Build Triggers 面板勾选 GitHub hook trigger for GITScm polling

在 Build Panel 面板选择 Execute shell,填入 npm run build(举个栗子)

完成以上配置以后,点击 Save,项目就创建完成了。此时如果提交修改并 push 最新代码到 github,Jenkins 会帮你执行:

1
2
git pull
npm run build

构建相关信息可在项目页面找到

PS:服务器上默认的代码被放在下面目录

1
/root/.jenkins/workspace

集成 Gitlab

准备工作:
把服务器的 SSH Key 填到 gitlab 中,使服务器(Jenkins)有权限拉取 gitlab 的代码
在 Jenkins 中搜索 gitlab 相关插件,全部安装即可

集成:
首先配置系统的 gitlab 相关内容(Configure System)

这里的证书选择 gitlab 的 Token,如果没有的话添加一个,步骤参考集成 github 中新增 token 的操作。token 可在 gitlab 个人设置的 Account 中找到

后续创建项目的步骤与 github 类似,需要注意两点:
repo 地址使用 ssh 格式

gitlab 相关项目的 Web Hooks 地址设置为:

其他与 github 一样