光宇说想搭建个 Gitlab-CI,持续集成这个东西我不太理解,是不是就是每次 git push 后自动编译(如果需要)、自动测试?这个编译和测试环境如何在 Gitlab-CI 中指定?这个测试环境是在虚拟机中吗,或者如何保证隔离性?是不是每次 git push,都要进行一次完整的编译测试,需要耗比较长的时间、占比较多的资源?
我感觉这种持续集成系统有助于避免开发环境与生产环境配置不一致带来的问题,也有助于减少硬编码、提高可配置性,因此想试试。望指教。
光宇说想搭建个 Gitlab-CI,持续集成这个东西我不太理解,是不是就是每次 git push 后自动编译(如果需要)、自动测试?这个编译和测试环境如何在 Gitlab-CI 中指定?这个测试环境是在虚拟机中吗,或者如何保证隔离性?是不是每次 git push,都要进行一次完整的编译测试,需要耗比较长的时间、占比较多的资源?
我感觉这种持续集成系统有助于避免开发环境与生产环境配置不一致带来的问题,也有助于减少硬编码、提高可配置性,因此想试试。望指教。
再补充几点。以前,我自己的服务器上搭建了gitlab-CI。感觉Gitlab-CI比较适合团队使用。如果作为开放服务会带来许多问题。
仅管理员可以配置Gitlab-CI-runner。由于不同的项目需要的环境不同,不可能在一个runner中安装所有编译环境,而普通用户又不能添加自己的runner,这就矛(che)盾(dan)了。
安全性问题。gitlab-CI允许用户执行任意命令,虽然是以普通用户权限执行的,但还是可以干许多“坏事”。团队内部大家似乎会有所顾忌,还不太容易出现问题,但作为公共服务器,就不得不考虑这类问题了。
目前的gitlab服务器性能太差,运行gitlab-ci还没问题,但运行gitlab-ci-runner就拙荆见肘了。如果要做,可能需要把runner运行在其他服务器上。
gitlab-ci功能比较弱,远不及jenkin。
第二次运行时可以选择是git clone 还是 git pull
我们可以考虑在gitlab-ci上二次开发,允许用户自己添加runner。当然,还可以在freeshell上建立一个runner模板,以便用户使用。
开启 2014年6月27日 at 下午11:15:37, Bojie Li (boj...@gmail.com) 写:
光宇说想搭建个 Gitlab-CI,持续集成这个东西我不太理解,是不是就是每次 git push 后自动编译(如果需要)、自动测试?这个编译和测试环境如何在 Gitlab-CI 中指定?这个测试环境是在虚拟机中吗,或者如何保证隔离性?是不是每次 git push,都要进行一次完整的编译测试,需要耗比较长的时间、占比较多的资源?
我感觉这种持续集成系统有助于避免开发环境与生产环境配置不一致带来的问题,也有助于减少硬编码、提高可配置性,因此想试试。望指教。
--
-- 来自USTC LUG
请使用gmail订阅,不要灌水。
更多信息more info:http://groups.google.com/group/ustc_lug?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups "USTC_LUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ustc_lug+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
仅管理员可以配置Gitlab-CI-runner。由于不同的项目需要的环境不同,不可能在一个runner中安装所有编译环境,而普通用户又不能添加自己的runner,这就矛(che)盾(dan)了。
安全性问题。gitlab-CI允许用户执行任意命令,虽然是以普通用户权限执行的,但还是可以干许多“坏事”。团队内部大家似乎会有所顾忌,还不太容易出现问题,但作为公共服务器,就不得不考虑这类问题了。
目前的gitlab服务器性能太差,运行gitlab-ci还没问题,但运行gitlab-ci-runner就拙荆见肘了。如果要做,可能需要把runner运行在其他服务器上。
gitlab-ci功能比较弱,远不及jenkin。
第二次运行时可以选择是git clone 还是 git pull
我们可以考虑在gitlab-ci上二次开发,允许用户自己添加runner。当然,还可以在freeshell上建立一个runner模板,以便用户使用。
其实有一种比较简单的方案:
开启 2014年6月28日 at 上午12:58:04, Zhang Cheng (steph...@gmail.com) 写:
--
开启 2014年6月28日 at 上午2:29:34, Yan Wang (gra...@gmail.com) 写:
之前的讨论里也提到jenkins的功能比gitlab-ci更强,有没有特别的理由让我们向gitlab-ci里投入精力而不是直接上jenkins呢?
--
多谢,每个 gitlab-ci-runner 是只会被分配到一个任务(即前一个任务不结束,后一个任务即使排队也不会来)吗?
如果希望做公共服务的话,能不能修改添加 runner 部分的界面和权限设置,允许 project 的 owner 和 master 为这个 project 添加 runner?这样不需要修改 gitlab-ci 的数据结构。不过有个缺点,添加的 runner 都是只为一个 project 服务的,不方便复用 runner 资源(话说回来,这样也保证了项目之间的隔离)。
这些 runner 显然不能运行在 gitlab 服务器上,需要项目所有者自己找机器(可以是 freeshell 也可以是其他服务器)添加进来。
如果管理员统一管理 runner 的话,项目团队如何维护编译测试环境呢?比如某项目多了一个依赖库,还要麻烦管理员去安装?
--
如果管理员统一管理 runner 的话,项目团队如何维护编译测试环境呢?比如某项目多了一个依赖库,还要麻烦管理员去安装?
哦,原来公司里开发者是碰不到生产服务器的啊。我还以为运维团队是负责搭建 IT 基础设施,项目团队从“私有云”里申请了资源就可以随便用了呢。不过这样有个问题,如果线上发现个 bug,怎么解决?是运维把开发者叫来一起解决吗?项目上线之后,如果开发者需要调整参数(例如机器学习的算法)或者拿日志来分析,也要麻烦运维?
--
哦,原来公司里开发者是碰不到生产服务器的啊。我还以为运维团队是负责搭建 IT 基础设施,项目团队从“私有云”里申请了资源就可以随便用了呢。不过这样有个问题,如果线上发现个 bug,怎么解决?是运维把开发者叫来一起解决吗?项目上线之后,如果开发者需要调整参数(例如机器学习的算法)或者拿日志来分析,也要麻烦运维?
只是讨论不太直观,刚搭了一个测试用的Gitlab-CI,位于 freeshell ,大家可以试试注:目前runners安装了gcc g++ make cmake autoconf automake openjdk maven ruby golang python django
另外,build 是以什么用户的身份进行的?有没有权限安装软件包?