前端Jenkins持续集成

Posted 前端阿巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端Jenkins持续集成相关的知识,希望对你有一定的参考价值。

新建一个自由风格的Jenkins项目

  • 打开浏览器登录Jenkins配置页面;配置页面布局如图所示:服务器安装Jenkins请自行Google前端Jenkins持续集成前端Jenkins持续集成前端Jenkins持续集成,这里不再赘述

前端Jenkins持续集成

  • 首先需要配置目标服务器的相关信息,使用 SSH Publish进行服务器之间的数据传输和 SSH连接。

点击系统管理-->系统配置,找到Publish over SSH配置项,新增一个SSH Server,输入相关信息,点击高级,使用密码验证登录,然后点击Test Configuration进行连接测试,返回success则说明连接成功。

前端Jenkins持续集成

  • 回到首页后,点击新建任务-->构建一个自由风格的软件项目,然后进入该项目的配置界面,写入基本的描述信息。

    1. 配置钉钉机器人:配置文档https://jenkinsci.github.io/dingtalk-plugin/

(目前只配置了一个钉钉机器人,有需要可以在Jenkins系统配置中进行配置)

通知人:在钉钉消息中会@的用户,是通过手机号识别的,需要在Manage Users中进行用户配置

自定义内容:支持markdown文档格式,可以调用Jenkins中的环境变量

前端Jenkins持续集成

b.配置源码管理:

如果要跟踪存储库中的特定分支,请指定分支。如果留为空白,将检查所有分支前端Jenkins持续集成c.配置构建触发器:

使用webhook Url钩子的方式触发构建,当使用这种方式的时候,会生成一个webhook URL,如图C-1红框所示。

将webhook URL粘贴到gitlab中如图C-2所示位置,选择触发方式为Push Event(为配合CodeReview后面会改为Merge request events);

如图C-3所示,点击Add Webhook后,该webhook会出现在webhooks的列表中,点击Test进行连接测试,如果返回HTTP 200则表示连接测试成功。前端Jenkins持续集成

图C-1前端Jenkins持续集成图C-2

前端Jenkins持续集成图C-3


d.配置构建环境特别注意目标服务器文件保存父目录需要真实存在)

首先在build之前清空工作空间;

使用SSH Publishers进行服务器之间的文件传输,将文章开头在enkins系统配置中配置好的服务器选中填入(未在系统配置中配置的服务器不会显示);

使用Node插件提供node环境

   c.配置构建

执行shell脚本

#!/bin/sh -eexport PATH="/var/lib/jenkins/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/Node_v10.1.0/bin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/git/bin"npm config set registry https://registry.npm.taobao.orgnpm install -g yarnyarn config set registry https://registry.npm.taobao.orgyarn instalnpm run buildcd build || (echo "build failed"; exit 1) // 如果构建文件不存在则会返回构建失败并中断构建tar -zcvf build.tar.gz *

e.点击保存

配置过程中遇到的问题以及解决方案:
  • git版本问题引发的构建失败-->升级服务器git版本

  • node插件安装后,在系统配置里没有版本号的下拉框-->去官网找个文件hudson.plugins.nodejs.tools.NodeJSInstaller,这个文件就是nodejs文件版本信息文件,放在jenkins 的目录下 /var/jenkins_home/updates

以上是关于前端Jenkins持续集成的主要内容,如果未能解决你的问题,请参考以下文章

前端Jenkins持续集成

Docker+Jenkins持续集成环境使用docker+jenkins构建nodejs前端项目

自动打包发布到服务器的持续集成工具:Jenkins+钉钉

一文搞定前端 Jenkins 自动化部署

devops持续集成开发——jenkins流水线发布一个node环境下的前端vue项目

devops持续集成开发——jenkins流水线发布一个node环境下的前端vue项目