资讯专栏INFORMATION COLUMN

jenkins工作流的构建--实现自动化构建及邮件提醒功能

lscho / 3024人阅读

摘要:构建流程从官网下载最新文件。其中是在中可以获取的。当本地向远端仓库发起请求时,会触发,然后开始工作。本次使用的地址为。

背景

现阶段:开发 -> git push -> git pull -> 比较代码 -> 编译 -> 部署到全网 -> 重启服务器

接入jenkins之后:开发 -> git push -> jenkins自动构建部署

jenkins是什么
jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
构建流程

从Jenkins官网下载最新war文件。(https://jenkins.io/download/)

安装jdk(https://www.oracle.com/techne...

运行java -jar jenkins.war即可

安装插件(github,Generic Webhook Trigger)

nodejs配置:system settings -> 全局工具配置

create new job

使用webhooks建立连接

git push --> 触发webhooks --> jenkins开始工作

构建结果 -> 通过邮件通知结果

详细流程 初始化jenkins包

下好war包之后,运行java -jar jenkins.war --httpPort=8383(指定端口8383)
打开本地localhost:8383 按照提示依次可看到


安装插件(github,Generic Webhook Trigger)

NodeJs配置:system settings -> 全局工具配置

create new job:

创建一个自由风格的软件项目

在Source Code Management中填入相关的git源码地址

在Build Triggers 中选择

在Build Environment及在build中选择NodeJs版本和写入需执行的shell脚本
此次的shell脚本如下:

echo "check node --version"
node --version
cd mock-demo
npm install -g cnpm --registry=https://registry.npm.taobao.org
npm install
npm install -g mocha
echo "test-------start"
npm run test
echo "npm--------build"
npm run build

使用webhooks建立连接
工作原理:
在远端仓库上配置一个Jenkins服务器的接口地址,当本地向远端仓库发起push时,远端仓库会向配置的Jenkins服务器的接口地址发起一个带参数的请求,jenkins收到后开始工作。

在github中设置webhooks

图中Secret是jenkins的密码,有个选项是想什么时候触发这个钩子,这里默认用push触发钩子
点击提交完成配置。
其中Payload URL是在jenkins中可以获取的。当本地向远端仓库发起push请求时,会触发jenkins,然后jenkins开始工作。
在jenkins中设置github Hook URL:

git push --> 触发webhooks --> jenkins开始工作

构建结果 --> 通过邮件通知结果

在Jenkins -> 系统设置 -> E-mail Notification 中设置
在Test e-mail recipient出填写测试邮件地址,就可测试是否能收到邮件

然后在jenkins项目中settings -> Post-build Actions设置
在选择触发器时可选always或failure等触发邮件提醒

构建结果

写在最后
jenkins的插件成千上万,功能十分强大,目前实现了自动构建以及邮件提醒功能。
本次使用的demo地址为:https://github.com/liujianxi/jenkins-demo。
原文地址:https://github.com/liujianxi/share/tree/master/jenkins-demo

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/99875.html

相关文章

  • jenkins+sonarqube+php自动检测&发送邮件基本实现

    摘要:由于拉取有文件会自动拉取。那么需要在后台关闭这个选项中文插件保持账户拥有者和发送邮件一致 目的 对于小组内部PHP代码进行定期检测及分发 1. 需要定期从svn 或者git拉取指定代码 2. 对代码库内部门模块进行隔离或者删除,不参与检测 3. 为小组内人员定期发送邮件, 4. 可分配具体bug 给具体小组内人员 jenkins安装及安装插件 1. sonar搭建可以参考 [之前文章...

    AaronYuan 评论0 收藏0
  • JMeter+Jenkins+ANT搭建配置教程

    摘要:安装及配置下载解压到盘根目录配置环境变量把中的复制到中把附中内容添加到文件中把需要测试的文件和见文章末尾放在同一文件夹中中使用了文件,点此下载后放到中测试一下看,打开命令行切换到文件夹下,输入或执行,正常运行后 ANT安装及JMeter配置 1.下载ANT 2.解压到D盘根目录 3.配置环境变量 CLASSPATH %JMETER_HOME%libextApacheJMeter_cor...

    import. 评论0 收藏0
  • Jenkins+Git+Gitlab 实现web服务持续集成部署

    摘要:参数化构建开发代码或者合并代码到项目的非分支之后,并不会部署代码,而是需要登录到的界面,点击构建按钮,传入对应的参数比如需要构建的分支,需要部署的服务器然后才会部署。 Jenkins安装和启动 官网下载之后,执行: 手动启动: java -jar jenkins.war 后台启动(默认端口): nohup java -jar jenkins.war & 后台启动(指定端口): noh...

    fnngj 评论0 收藏0
  • 分布式任务调度平台动化部署

    摘要:分布式任务调度平台,美团点评员工许雪里开发,其核心设计目标是开发迅速学习简单轻量级易扩展。源码地址二本文简介主要是利用成熟的部署工具,结合开源的分布式任务调度框架作为工程,快速搭建自己的持续集成项目,其他项目可以类似构建。 一、概述 1、自动化部署能简化开发过程的代码管理,让开发人员把更多的时间专注于业务实现, 简化繁琐的上线流程和操作步骤,做到项目的快速打包和部署,减少人...

    tomato 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<