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

最新文章

  1. NOSQL场景梳理
  2. JS获取当前浏览器的类型
  3. 单机搭建Android开发环境(四)
  4. 【poj3422】 Kaka&#39;s Matrix Travels
  5. IntelliJ IDEA 目录技巧
  6. TCP/IP详解 学习七
  7. bin(x) 将整数x转换为二进制字符串
  8. ansible 学习与实践
  9. &lt;Win32_6&gt;程序员求爱的创意程序^_^
  10. Spring @Transactional 使用
  11. Java学习笔记(二十四):单例设计模式singleton
  12. C实战:项目构建Make,Automake,CMake【转】
  13. 用ASPOSE.Cells将HTML表格存为Excel
  14. 模块——Getopt::Long接收客户命令行参数和Smart::Comments输出获得的命令行参数内容
  15. A1102. Invert a Binary Tree
  16. Freemarker导出带多个不重复图片的word
  17. webservice restful一个小例子
  18. Python一键安装全部依赖包
  19. js创建表单并提交
  20. Tomcat报BAD packet signature 18245错误的原因

热门文章

  1. [zabbix] zabbix从内部检测web页面
  2. 硬件设计原理图Checklist 参考案例二 【转载】
  3. centos7安装oracle的一些问题
  4. 课堂实践ASL博客
  5. 20172311『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结
  6. 20172324 2017-2018-2《程序设计与数据结构》第五周 n!的计算
  7. C# Linq找不到行或已更改
  8. 线程局部存储TLS(thread local storage)
  9. Teamwork(The sixth day of the team)
  10. JAVA中处理事务的程序--多条更新SQL语句的执行(包括回滚)