jenkins+github持续集成

王党军 王党军     2022-09-04     130

关键词:

由于最近团队代码库从coding迁移到github,在CI工具的选型上尝试了travis-cicircle-ci,最后决定自己搭建CI服务器,而我也有幸认领了这个任务的调研,因此有了这篇文章。

之前写过一篇文章浅谈Jenkins+Node.js持续集成,那真的是浅谈,Jenkins包含的东西实在太多了,作为从hudson分支出来的开源免费的版本,插件与hudson通用,有更快的迭代速度和稳定性。

为什么选择Jenkins

答案简单:因为免费,学习资料多。

开始吧

安装配置这里就不赘述了,移步浅谈Jenkins+Node.js持续集成

0. 准备

因为要与Github通信,所以需要准备一台服务器,该服务器能访问到Github,Github能访问到它。
为了这个测试,我特地在搬瓦工VPS买了服务器,顺便介绍一下这个高性价比的vps供应商,$2.99约合人民币18元每个月,可一键搭建shadowsocks。但是记得有个坑就是购买的时候一定要选好机房,之前买过洛杉矶的卡的要死,打条命令之后要等好久才显示,对它失去信心不想用它了,后来听一个朋友说亚利桑那州Arizona)的机房挺稳定的,再给它一次机会,这次买了Arizona机房的果然速度挺快的??

1. 安装GitHub Plugin

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

技术分享

2. 配置Github插件

系统管理 >> 系统设置 >> GitHub Plugin Configuration

技术分享
首先点击personal access token到github上
也就是github上用户Settings >> personal access tokens

技术分享
勾选给Jenkins的访问权限,Github plugin的帮助信息里说要admin:repo_hook、repo和repo:status权限,其实repo:status是包含在repo里的,详见这里。 点击Generate token创建一个token

技术分享
复制这个token,回到Jenkins点击Add按钮

技术分享
选择Secret text,粘贴token,添加描述,点击添加。
点击Verify credentials测试token,显示Credentials verified for user xxx, rate limit: xxxx,说明配置完成了,这样你的Jenkins就具有访问你的github的权限了。

3. 创建一个freestyle任务

技术分享

  • 配置源码管理
    技术分享

    1. 填写项目的git地址, eg. https://github.com/your_name/your_repo_name.git

    2. 添加github用户和密码

    3. 选择githubweb源码库浏览器,并填上你的项目URL,这样每次构建都会生成对应的changes,可直接链到github上看变更详情

  • 构建触发器勾选Build when a change is pushed to GitHub,这样该仓库的每一次push或者pull request都会触发build

技术分享

  • 配置构建步骤随后配置构建环境、构建步骤和构建后步骤

安装了Github Plugin之后在构建步骤和构建后操作会多两个设置,用于在构建时和构建后同步构建状态到Github的,后面有效果图
技术分享

4. 配置Github仓库的Webhook

仓库的创建人在仓库的Settings >> Webhooos & services添加
我们只需要push事件触发就可以了,选中Just the push event
点击Add webhook
yes,与github集成的Jenkins CI环境就配置好了
技术分享

5. 效果

每次push都会触发一次build,pull request的话还会在该界面直接显示build结果

技术分享

技术分享

最后

整个环境终于搭好了,中间遇到了蛮多大坑小坑的,有些记录了下来,后续整理好再发上来。
这段时间学习Jenkins收获蛮多的,只是到现在也只学了些皮毛,写出来的东西也颇有些晦涩。
接下来要做的实验是通过Jenkins实现自动远程部署。

















jenkins持续集成

Jenkins持续集成工具Jenkins功能包括:1持续的软件版本发布/测试项目2监控外部调用工具3jenkins就是基于Java开发的一种持续集成的工具4可以将运维用到的各个脚本整合起来,并且可以通过页面方式集中管理,而且可以也可以实现和... 查看详情

为啥 GitHub 不会在拉取请求中触发“持续集成/jenkins/pr-merge”?

】为啥GitHub不会在拉取请求中触发“持续集成/jenkins/pr-merge”?【英文标题】:Whyis"continuous-integration/jenkins/pr-merge"notbeingtriggeredbyGitHubonapullrequest?为什么GitHub不会在拉取请求中触发“持续集成/jenkins/pr-merge”?【发布时间... 查看详情

jenkins+github持续集成中的坑

1.前言刚开始开发自己的独立博客的时候,每次发布都要手动打包,上传服务器,杀tomcat进程,重启,来回这么重复性工作,很快就有点不耐烦了。如果能自动化的东西,就绝不要手动了,所以自己搭建了个持续集成环境,配好... 查看详情

jenkins持续集成之小试牛刀

关于Jenkins的安装,大家可以参考我的这两篇文章:Ubuntu16.04环境安装jenkinsdocker安装jenkins及其相关问题解决之前没有好好研究过Jenkins,只是简单学会怎么安装之类的。下面我们进入今天的主要话题,Jenkins小试牛刀。 一、要有... 查看详情

使用gitlab+jenkins实现持续集成(ci)环境(代码片段)

使用GitLab+Jenkins实现持续集成(CI)环境一、持续集成简介1.GitLab简介2.Jenkins简介3.GitLab和GitHub的区别4.持续集成系统的工作流程二、使用GitLab+Jenkins实现持续集成(CI)环境1.安装Gitlab1)登录Gitlab2)配... 查看详情

jenkins+github持续集成构建docker容器,维基百科&人工自能(ai)模块

...r程序,第二部分是用GithubwebhookTrigger一个自动构建任务。Jenkins采用2.5版本Docker采用1.7.1代码托管使用的Github官网系统为IBMBluemix提供的Cent6.7,服务器地址在美国南加州 1.1创建一个FreestyleProject,let‘ssayjenkins-do 查看详情

pytest框架的github项目jenkins持续集成(代码片段)

Jenkins安装Allure插件1.进入jenkins系统管理->管理插件2.点击可选插件3.搜索框输入AllureJenkinsPlugin4.选中安装,安装后如下。 Jenkins安装AllureCommandline工具1.进入jenkins系统管理->全局工具安装(GlobalToolConfiguration)2.找到AllureComma... 查看详情

pytest框架的github项目jenkins持续集成(代码片段)

Jenkins安装Allure插件1.进入jenkins系统管理->管理插件2.点击可选插件3.搜索框输入AllureJenkinsPlugin4.选中安装,安装后如下。 Jenkins安装AllureCommandline工具1.进入jenkins系统管理->全局工具安装(GlobalToolConfiguration)2.找到AllureComma... 查看详情

jenkins持续集成工作原理

转载https://www.cnblogs.com/liyuanhong/p/6548925.html片段 这里是选择Gitlab作为gitserver。Gitlab的功能和Github差不多,但是是开源的,可以用来搭建私有gitserver,也提供非常强大的webGUI,比如开发者互相review源代码的时候就会很方便。系... 查看详情

持续集成:jenkins部署(代码片段)

Jenkins什么是JenkinsJenkins是一个开源的使用Java开发的持续集成工具,提供了软件开发的持续集成服务,它把开发工作和运维工作结合在一起。它可以把Sonar代码质量检测工具、Maven或者Ant编译打包工具、Github、Gitlab代码管理工具以... 查看详情

jenkins集成springboot持续化构建代码

...在要做的功能就是将本地开发的代码提交到github中,通过jenkins自动化集成部署到云服务器。接下来开始步骤。1首先是在服务器上安装必要的软件,jenkins,jdk,maven,git等(此处暂时省略安装步骤)附上一篇好的博客 https://ww... 查看详情

gitlab与jenkins结合构成持续集成(ci)环境(代码片段)

Jenkins概述:  Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。  官方网址:https://jenkins.io/  Gitlab概述:  Gitlab是一个可以实现自托管的Git项目仓库,可通过web界面进行... 查看详情

jenkins+docker+github+vue自动化部署(代码片段)

一、介绍1、JenkinsJenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。前身是Hudson是一个可扩展的持... 查看详情

python接口测试实战5(上)-git及jenkins持续集成

...框架搭建好的基础上注册Github并新建仓库使用Git上传项目Jenkins的安装Jenkins接口测试项目的配置注册Github并新建仓库Git简介Git(读音为/gɪt/。)是一个开源的分布式版本控制系统版本控制:对项目及代码记录每次提交和修改࿰... 查看详情

12.jenkins持续集成企业实战

阅读目录:Jenkins持续集成企业实战1.1目前主流网站部署的流程1.2Jenkins持续集成简介1.3Jenkins持续集成组件1.4Jenkins平台安装部署1.5Jenkins相关概念1.6Jenkins平台设置1.7Jenkins构建JOB工程1.8Jenkins自动化部署1.9Jenkins插件安装1.10Jenkins邮件... 查看详情

持续集成之jenkins2

...集成  持续集成最佳实践  持续集成概览  什么是Jenkins  Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 ... 查看详情

持续集成工具jenkins安装

一.jenkins介绍Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件允... 查看详情

持续集成部署工具jenkins简介

1.Jenkins基本介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。现在企业一般使用jenkins落实持续集成、持续部署、持... 查看详情