ChatOps : Gitlab + Jenkins + BearyChat 的配置与实践

By | 2017年7月2日 | 阅读:545 次

前言
团队决定使用 Jenkins + Gitlab + bearychat 来做持续集成,晚上先学习 Gitlab 的安装、Jenkins的安装,记录下遇到的问题
环境:Centos 7.2 Java8 Jenkins 2.7


  1. 安装 Gitlab
  2. 安装 Jenkins
  3. Gitlab + Jenkins + BearyChat 初次实践

1. 安装 Gitlab

  • 安装参考中文文档: CentOS 7 安装 Gitlab
  • 安装完毕界面会有只萌萌的小艺兴:

  • 配置

    • 编辑 Gitlab 配置文件 /etc/gitlab/gitlab.rb ,Gitlab 会默认读取 /etc/sysconfig/network 中的 HOSTNAME 作为访问 url,更改 external url 为你的域名或 外网IP(团队内部使用配置为内部IP)
    • 配置 Gitlab 使用现有 Nginx
      由于 Gitlab 自带 Nginx,也可以配置 Gitlab 来使用现有 nginx,我参考文档 Using an existing Passenger/Nginx installation,发现需要nginx 配置 Passager 来支持 Gitlab 的 rails,需要重新编译,得不偿失;
    • 参照我们的项目,使用 code.domain.com 的二级域名来指向 Gitlab 即可,所以就没继续折腾了,给 Gitlab 开了个新端口 8000 使用就行; 吐槽下阿里云,我关闭了防火墙,还是访问不了 8000 端口,必须去配置安全规则。。另外 2G 内存看了 top 发现 Gitlab 跑起来真是卡得不行,有时间再看下 v2ex 上说的 gogs
  • 配置完成

2. 安装 Jenkins

2.1 安装 Java

2.2 安装 Jenkins

  • 使用 war 的Java包方式方式安装,参考
  • 配置 repo 源,使用 yum 安装

2.3 配置 Jenkins

  • 配置文件:/etc/sysconfig/jenkins 修改端口 JENKINS_PORT="8088";初始化密码位置:cat /var/lib/jenkins/secrets/initialAdminPassword
  • Gitlab 插件:系统管理 > 插件管理 > 可用插件中,搜索并安装 Gitlab Pulgin
  • 配置 Git、JDK路径:系统管理 > Global Tool Configuration
    • JDK:/usr/lib/jvm
    • Git:/usr/local/bin/git

2.4 创建新任务

  • 源码管理部分,需要拉取 Gitlab 的项目源码,可以使用以下几种方式来拉取;
    如果拉取失败,请确认 Git 路径是否正确、SSH Key 是否正确配置、Jenkins是否有读取 .ssh 目录的权限等

2.5. Jenkins 配合 BearyChat


3. Gitlab + Jenkins + BearyChat 初次实践

  • 使用流程
    1. wuYin 开发完功能测试完毕后,上传到 Gitlab;
    2. 到 Jenkins 服务器上构建任务,自动拉取 Gitlab 中指定分支的新代码,部署并测试;
    3. 部署和测试结果发送到团队 BearyChat 中;

  • 效果:这里只是部署,没有做单元测试

    • Jenkins 拉取代码、部署的日志
    • BearyChat 通知

All Done.

虽然简单实践了一遍,但也只是停留在配置和使用层面,现在对 Jenkins 是怎么做到这些并不清楚,明天开始刷《Jenkins权威指南》,仔细学习下

发表评论

电子邮件地址不会被公开。