开始使用评论应用程序
- 介绍了在GitLab 8.12中。在GitLab 8.13和8.14中做了进一步的补充。
- 灵感来自于Heroku的评论应用程序它本身的灵感来源阴唇系带.
审查应用程序的基础是动态的环境它允许您为每个分支(动态地)创建一个新环境。
然后,当您访问的时候,评论应用程序可以作为链接可见合并请求与分支相关。这样,您就可以实时看到合并请求更改所引入的所有更改。在实时环境中,审查任何事情,从性能到界面更改,都变得更加容易,因此,审查应用程序可以对你的开发流程产生巨大影响。
它们主要用于web应用程序,但你可以以任何你喜欢的方式使用它们。
概述
简单地说,Review App是分支与环境的映射,因为它们之间存在1:1的关系。
下面是一个使用动态设置的环境查看合并请求的示例。
在上图中,你可以看到add-new-line
分支在动态环境下成功构建和部署,并且可以使用动态URL预览。
Review Apps实现的细节很大程度上取决于您的实际技术堆栈和部署过程。最简单的情况是部署一个简单的静态HTML网站,但当你的应用程序使用数据库时就不是那么简单了。将分支部署在临时实例上,并自动启动该实例以及所需的所有软件和服务,这并不是一项简单的任务。但是,这是可行的,特别是如果你使用Docker,或者至少是一个配置管理工具,如Chef, Puppet, Ansible或Salt。
先决条件
要更好地理解Review Apps,首先必须了解环境和部署是如何工作的。以下文档将帮助你掌握这些知识:
- 首先,了解环境以及他们在开发工作流中的角色。
- 然后稍作停留,了解一下CI变量以及如何在CI工作中使用它们。
- 接下来,探索
环境
语法定义为.gitlab-ci.yml
.这将是您最终熟悉环境如何工作时的主要参考。 - 此外,找出关于手动操作以及如何使用它们部署到生产等关键环境,只需按一下按钮。
- 作为最后一步,遵循实例教程它将指导你一步一步地建立基础设施,并使用审查应用程序。
配置
Review应用程序的配置取决于你的技术堆栈和基础设施。读了动态的环境文档以了解如何定义和创建它们。
创建和销毁评论应用程序
Review App的创建和销毁定义在.gitlab-ci.yml
在工作级别下环境
关键字。
检查环境如何这样做的文档。
简单的工作流程
在你的工作流程中添加评审应用程序的过程如下:
- 设置基础设施来托管和部署评审应用程序。
- 安装而且配置执行部署的Runner。
- 设立一个工作
.gitlab-ci.yml
使用预定义的预定义CI环境变量$ {CI_COMMIT_REF_NAME}
创建动态环境并将其限制为仅在分支上运行。 - 可选地设置作业为手动停止审查应用程序。
从这里开始,你将遵循分叉的Git流程:
- 推送一个分支,并让Runner基于
脚本
动态环境作业的定义。 - 等待Runner构建和/或部署您的web应用程序。
- 单击MR中与分支相关的链接,并实时查看更改。
限制
检查环境的限制.
例子
评论应用的例子列表如下:
- 与NGINX一起使用-使用NGINX和GitLab Runner的shell执行程序来部署一个简单的HTML网站。
下面是一个即将添加的例子列表:
- 与Amazon S3一起使用
- 对Heroku使用dpl
- 使用OpenShift/kubernetes