Gitblit是一个纯Java基于git的解决方案。它属于Apache Allura等伪造软件之一,它将票务系统与web ui结合在一起。我经历了一个设置过程,我想我可以帮助新用户避免痛点。

使用场景

  • 你想自我托管git repos
  • 您想要设置Jenkins服务器以执行git repo推送并在这些分支上运行构建测试。
  • 您有一个域名,您可以为它设置A记录。

Gitblit

  • 易于安装
  • 与詹金斯很好地融为一体
  • 轻量级 - 与Allura或Gitlab相比
  • 缺乏用户的自助注册功能

詹金斯CI

  • 易于安装
  • 强大的插件社区
  • 这就是Circle CI,Travis CI用于他们的基础堆栈。

脚步:

  1. http://gitblit.com/下载Gitblit   对于大多数人来说,你会想要Gitblit GO。
  2. 按照网站上的安装说明进行操作
  3. gitblit.properties 在/data 目录中配置  文件  。一定要填写  web.canonicalUrl - 需要设置Jenkins集成才能正常工作。
  4. http://jenkins-ci.org/下载并安装Jenkins
  5. 按照https://wiki.jenkins-ci.org/display/JENKINS/Installing + Jenkins中的描述设置  Jenkins
  6. 如果您将其安装为守护程序,请启动它(  /etc/init.d/jenkins start )
  7. 转到jenkins的网址。转到管理Jenkins - >配置全局设置 - >启用安全性
  8. 启用“允许用户注册”
  9. 注册然后关闭“允许用户注册”。

此时你已经设置了Gitblit和Jenkins。但他们还没有互动。当我们将提交推送到gitblit时,我们希望这样做,Jenkins构建它。

  1. 转到gitblit站点中已有的repo中的设置。转到repo设置的“receive”部分,然后添加  jenkins到“post-receive scripts”子部分的“selected”列中。
  2. 转到  /data/groovy 服务器中的Gitblit目录,编辑jenkins.groovy文件。在  jenkinsUrl 输入你的jenkins网址。
  3. 重启gitblit。
  4. 登录Jenkins web ui。转到“管理插件”。单击“可用”并在  Git Plugin 搜索框中输入。安装它。
  5. 重启Jenkins。
  6. 插件中还有构建环境支持插件。添加那些。特别是对于NodeJS,你必须要知道NodeJS插件的自动安装不会显示NodeJS下拉列表。您必须通过输入tar.gz存在的URL来安装。输入解压缩时存在的子目录。
  7. 转到管理Jenkins - >配置系统。添加适当的构建环境预设。这特定于您想要做的事情。所以我把它留了下来。
  8. 最后,添加您的构建。'New Item' - >'Freestyle'
  9. 从“源代码管理”部分选择git。把网址和其他设置。我通常为每个git项目制作两个构建项目。一个用于<projectName> -Release,另一个用于<projectName> -All。我进行了设置,因此Jenkins的分支设置对于<projectName> - 所有项目都是空白的。这样,所有功能和开发分支都经过构建和测试。
  10. 接下来,选择“轮询SCM”并将其留空。Gitblit的Jenkins groovy插件会调用Jenkins的钩子来按需建立这种方式。验证的方法是尝试,  curl <jenkinsUrl>/git/notifyCommit?url=<gitblitUrl>/r/<repoName> 或者您也可以将其放入浏览器中。
  11. 如果你想要链接到那些很酷的“构建状态”图像,请embeddable-build-status 为Jenkins 安装  插件。之后,将其链接到您的网站或降价文档。

恭喜,您现在已经设置了Gitblit和Jenkins CI来进行git commit推送并构建它们!

来自:https://voat.co/v/programming/comments/372494

Jenkins和Gitblit集成实现提交后自动构建的更多相关文章

  1. Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建

    Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ...

  2. jenkins 整合maven,svn(配置钩子程序实现提交代码自动构建),tomcat实现热部署(windows+linux分别实现)

    springboot : https://blog.csdn.net/zjh_746140129/article/details/80904876 1 准备工作: (1)运行jenkins的tomca ...

  3. jenkins+maven+docker集成java发布(一)自动发布

    JAVA项目持续集成发布 标签(空格分隔): java jenkins 微服务中持续集成自动发布是很重要的一个环节,将不同的模块应用自动部署到一台或者N台服务器中如果采用人工部署的方式不太现实 git ...

  4. jenkins与gitlab集成,分支提交代码后自动构建任务(六)

    一.在gitlab中创建token 复制token,此token只显示一次:6SB8y4jt31NnYG5-nWoi 二.在gitlab上为项目创建trunk分支 三.在jenkins中配置gitla ...

  5. jenkins结合gitlab实现提交代码自动构建

    jenkins可以说是现在非常流行的一个继续集成工具,几乎所有的公司都在用,并且它也基本是devops的连接者,是一个比较核心的工具. 主要记录以下两个: 利用jenkins和gitlab的webho ...

  6. Centos6.8实现SVN提交后自动更新目录

    1.创建svn目录 mkdir /var/www/project 2.从服务器的本地svn上checkout最新版本代码到www目录下的project文件夹,注意本地svn服务器地址和端口号是在启动s ...

  7. 配置hooks使svn提交后自动同步客户端代码(客户端与服务端在同一台机器上)

    1.配置svn的hooks 2.实例演示 1.配置svn的hooks 1.1)配置情况 承接上篇svn搭建的文章,今次继续使用上篇文章的配置 上篇文章的地址:linux下搭建svn代码库 svn仓库所 ...

  8. SVN提交后自动推送消息到钉钉群

    钉钉设置机器人配置 1.进入配置机器人入口 2.添加机器人 3.测试WebHook请求 本人使用Postman进行测试 4.配置SVN 4.1 配置 Pre-commit hook 设置提交内容必须包 ...

  9. [钉钉通知系列]SVN提交后自动推送消息到钉钉群

    钉钉设置机器人配置 1.进入配置机器人入口 2.添加机器人 3.测试WebHook请求 本人使用Postman进行测试 4.配置SVN 4.1 配置 Pre-commit hook 设置提交内容必须包 ...

随机推荐

  1. 奔跑吧DKY——团队Scrum冲刺阶段-Day 1-领航

    各个成员在 Alpha 阶段认领的任务 修改 序号 修改 具体描述 1 游戏过程 取消原来的跳跃和俯身按钮,保留跳跃的功能,可以触屏滑动来躲避地面障碍物,也可以躲避另一种陷阱障碍物 2 闯关功能 取消 ...

  2. 《 Spring1之第二次站立会议(重发)》

    < 第二次站立会议(重发)> 昨天,我把找到的代码和协议资料等相关资料在团队里做了相应的汇报: 今天,我对自己找到的代码进行了相关的了解后,把它们在编译环境中进行了编译以及接着对代码进行逐 ...

  3. WebService有什么用?

    入门之前先简单介绍下WCF.在用WebService做开发时,很多人都不知道WCF和WebService之间的关系.实际上WCF包含了WebService,这是一个很强悍的通信技术应用框架.微软把.N ...

  4. C语言:一个能自动生成小学四则运算题目的程序

    完成这个程序,半个小时内完成了,这个程序,可以自动生成小学简易的四则运算,提供菜单让用户选择,然后判断加减乘除,判断答对答错的题目个数,用户同时也可以重新选择继续答题或重新选择或退出程序. 源程序: ...

  5. LeetCode题解:(221) Maximal Square

    题目说明 Given a 2D binary matrix filled with 0's and 1's, find the largest square containing only 1's a ...

  6. vue开发完成后打包后图片路径不对

    用vue做了一个小的移动端项目,从头到尾做下来,感觉自己好多东西都没弄清楚过.也学到了很多,已整理笔记在自己电脑上,但是比较零散,空了再来仔细整理整理. 于是,上周五模拟好数据(接口还未写),准备打包 ...

  7. mongodb 下载安装 转

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.M ...

  8. Nginx和Apache区别

    Nginx VS  Apache 相同点: 1.都是HTTP服务器软件 2.功能上都采用模块化结构设计 3.都支持通用的语言接口,如PHP.Perl.Python等 4.支持正向.反向代理.虚拟主机. ...

  9. Android自动化之旅—生成渠道包

    美团Android自动化之旅—生成渠道包:http://tech.meituan.com/mt-apk-packaging.html   Android Studio系列教程六--Gradle多渠道打 ...

  10. Java多线程(五) —— 线程并发库之锁机制

    参考文献: http://www.blogjava.net/xylz/archive/2010/07/08/325587.html 一.Lock与ReentrantLock 前面的章节主要谈谈原子操作 ...