使用jenkins自动构建github项目

5次阅读

共计 1746 个字符,预计需要花费 5 分钟才能阅读完成。


欢迎加入前端交流群:749539640

jenkins 介绍

构建伟大,无所不能

Jenkins 是开源 CI&CD 软件领导者,提供超过 1000 个插件来支持构建、部署、自动化,满足任何项目的需要。

  • 作为一个可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器,或者变成任何项目的持续交付中心。
  • Jenkins 是一个基于 Java 的独立程序,可以立即运行,包含 Windows、Mac OS X 和其他类 Unix 操作系统。
  • Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。
  • 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续交付工具链中几乎所有的工具。
  • Jenkins 可以通过其插件架构进行扩展,从而为 Jenkins 可以做的事提供几乎无限的可能性。
  • Jenkins 可以轻松地在多台机器上分配工作,帮助更快速地跨多个平台推动构建、测试和部署。

安装 jenkins

jenkins 的安装请移步在 linux 服务器上安装 Jenkins

新建 github 项目

我们新建一个名为 jenkins 的 git 仓库,代码我这里选择了用 vue-cli 简易生成了一个示例 demo

github 配置

sercret text

注:此处需要一个对项目有写权限的账户

进入 github –> setting –> Personal Access Token –> Generate new token
或者点击进入

自己先保存此token,如果丢失,之后再也无法找到这个token

GitHub webhooks 设置

进入刚才新建的 jenkins 仓库 –> setting –> WebHooks&Services –> add webhook –> 输入刚刚部署 jenkins 的服务器的 IP

jenkins 地址后加上/github-webhook/

jenkins 的 github 配置

安装 GitHub Plugin

系统管理 –> 插件管理 –> 可选插件

直接安装 Github Plugin, jenkins 会自动帮你解决其他插件的依赖,直接安装该插件 Jenkins 会自动帮你安装 plain-credentials、Git、credentials、github-api

配置 GitHub Plugin

系统管理 –> 系统设置 –> GitHub –> Add GitHub Sever

如下图所示

API URL 输入 https://api.github.com,Credentials 点击 Add 添加,Kind 选择 Secret Text, 具体如下图所示。

Secret 添加刚才生成的 token,id 和描述随便填写

设置完成后,点击TestConnection, 提示 `Credentials
verified for user UUserName, rate limit: xxx`, 则表明有效。

### 创建一个 freestyle 任务

– General 设置
填写 GitHub project URL, 也就是你的项目主页
eg. https://github.com/your_name/your_repo_name

– 配置源码管理

  1. 填写项目的 git 地址, eg. https://github.com/your_name/your_repo_name.git
  2. 添加 github 用户和密码
  3. 选择 githubweb 源码库浏览器,并填上你的项目 URL,这样每次构建都会生成对应的 changes,可直接链到 github 上看变更详情

– 构建触发器,构建环境

这里如果没有 node,就需要安装下 node
因为 Jenkins 容器中只有 java 环境支持运行 jenkins,没有 node 环境,但是 jenkins 提供在线安装 nodejs。官方文档

  • 下载 nodejs 插件并配置
  • 系统管理 —> 管理插件 —> 下载 NodeJS 插件
  • 下载的插件在:$JENKINS_HOME/plugins 目录下
  • 系统管理 —>Global Tool Configuration—> 选择需要安装的 nodejs 版本
  • 会从 nodejs 官网下载安装,nodejs 安装包在:$JENKINS_HOME/tools 目录下

– 构建

– 构建后操作

最后点击保存即可

测试

上传代码
查看 jenkins

这样就成功了,每次提交代码到 master 就会进行自动构建测试代码有没有问题

下一篇我们介绍如何添加钉钉机器人提示提交信息

正文完
 0