GitLab 8.16 现在包括监控工具并将自动部署扩展到 Google Container Engine 上

  • Sergio De Simone
  • 汪欣

2017 年 2 月 9 日

话题:持续集成DevOpsGit语言 & 开发

继上个月在OpenShift 上引入自动部署支持 Kubernetes后,GitLab 8.16 在 Google Cloud 上提供了自动部署功能。此外,GitLab 8.16 改进了其问题搜索和过滤器界面,并包括监控工具Prometheus和 Slack 的替代者Mattermost

据 Gitlab 产品副总裁Job van der Voort 介绍,在 Google Container Engine(GCE)上提供自动部署功能,GitLab 实例使用其自动缩放持续集成(auto-scaling CI)功能部署应用到 Kubernetes,将允许更多的开发者从这种可能性中获得好处。根据 Gitlab,在 GCE 上将 GitLab 部署到 Kubernetes 需要许多步骤,尽管它可以在不到 30 分钟内完成,这仍然使整个过程不那么直观。

为使监控成为 Gitlab 持续集成的一个组成部分,产品规划中的第一步就是在 GitLab 8.16 中包含 Prometheus。Prometheus 应该能够收集关于部署的早期反馈,并自动回退那些导致问题的部署。为了能够连接到可以提供与 CPU、内存和吞吐量相关的指标的 Prometheus 控制台,你应该首先设置端口转发,以便在 localhost:9090 上访问私有的 Prometheus 服务器:

kubectl -n gitlab get pods -l name=gitlab -o name | sed 's/^.*\///' | xargs -I{} kubectl port-forward -n gitlab {} 9090:9090

以下是几个可以发送到 Prometheus 的查询示例:

  • 内存使用百分比:(1 - ((node_memory_MemFree + node_memory_Cached) / node_memory_MemTotal)) * 100
  • CPU 负荷百分比:1 - rate(node_cpu{mode="idle"}[5m])
  • 发送的数据:irate(node_network_transmit_bytes[5m])
  • 接收的数据:irate(node_network_receive_bytes[5m])

GitLab 8.16 的其他重要特性包括:

  • 改进的问题搜索和过滤器界面,使其更自然和直观。
  • 支持撤销合并请求的批准。
  • 支持授予写入权限的部署密钥,以及现有的只读部署密钥。
  • 新的 merge 命令允许在问题的描述或注释中简单地键入 /merge 来合并 PR。
  • GitLab Runner 1.10,包括一系列改进和修复
  • Mattermost 3.6 现在包含在 GitLab 中。

GitLab 8.16 可以使用各种方法安装更新,其中包括使用支持多个托管提供商的镜像,Docker 容器以及针对特定操作系统的软件包。

查看英文原文GitLab 8.16 Now Includes Monitoring and Extends Auto Deploy to Google Container Engine


感谢王纯超对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

持续集成DevOpsGit语言 & 开发