GitLab,是一个利用Ruby on Rails开发的开源应用程序,实现自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 它拥有与GitHub类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员 可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 GitLab进入了新的里程碑——GitLab 7.12正式到来。以下为官方发布日志摘译: 这次的发布带来了大量的新特性和修复,主要是面向Community Edition (CE)、Enterprise Edition
(EE)和Continuous Integration
(CI)。在CE和EE中,GitLab开始支持使用SAML身份验证,这一点曾被广泛要求,我们也非常高兴CERN参与了贡献。在GitLab
Enterprise Edition中,你可以邀请多个人来批准某个合并请求。在GitLab CI中,我们推出了 这个月的MVP很好选择,他是来自CERN的Alexandre Lossent,Alexandre 贡献了他们写的SAML代码。我们很高兴有这个贡献,以及确信你会受用。感谢Alexandre! SAML 支持 由于得到Alexandre的贡献,GitLab现在可以成为一个SAML 2.0 Service Provider。这使得GitLab 以SAML 2.0 Identity Provider(IdP,如Microsoft Active Directory Federation Services)身份来提供一个用户认证机制。 Web Hook评论 现在有了一个新的可用的Web Hook,它将连接所有的评论。你可以用它来增加额外的自动化和集成至GitLab。例如,当有人评论一个合并请求时,你可以把它连接至内部的系统,或者你可以根据评论内容运行一个特定的构建。 更好的Web Editor性能 每 一个GitLab新版本都比过去的更快,但这个版本中,我们做了一些其他的工作。简而言之,不再是通过克隆一个空的仓库至一个临时的位置来执行Web界面 代码更改,在那儿提交,然后Push更新回至空的仓库,而是我们现在可以直接提交更改至空仓库。这显著提高了Web Editor的性能。 UI更新 每个月我们都尝试和调整我们的UI,让它变得更好、更美观和更加直观,这个月依然这么做了。 我们已经迁移你的个人资料页,将它链接到底部左下角,以及更新各个UI部分的外观。 Merge Request Approvers(仅支持EE版本) 如果你想确保你最喜爱项目在合并请求前可以有超过一个人的review,在新版本中,你就可以配置一个最低Merge Request批准的数值。 Git Hook来检查Maximum File Size(仅支持EE版本) 我们增加了一个新的Git Hook,允许你限制即将提交的大文件。你可以很简单地设置一个门槛,GitLab 将会阻止所有包含太大文件的Git pushes。 LDAP Group Sync改进(仅支持EE版本) 我们在GitLab EE上改进了LDAP Group同步。当同步时它会检查更多的特殊属性,防止因为同步而删除最后组里的owner。
在5月6日,我们用存储在代码仓库中的
上面的事情不可能用类似Jenkins脚本实现,因为它与整个项目相关联。 它是如何工作 GitLab发送web-hook和 这里是一个YAML文件例子:
我们包含了一个Lint工具来检查你的语法。它现在可以在每一个 GitLab CI中获得,通过url /lint的方式。如果你在push 你的代码后
新版本的灵感来自已经使用YAML文件的Travis CI和Circle CI的工作。首先,我们考虑使用开源的Travis CI模块,但是我们最终还是自己编译了,所以我们可以提供:
因为这些,“one image per architecture and that’s it”不再成立。当你能够tag runners和jobs,这让你在分配一个job给指定的runner时拥有更多的自由。我们希望新版本具有着Jenkins的自由和Travis CI的用户友好。 迁移 当升级到GitLab 7.12,你的CI job脚本将被自动转变成一个示例 在push引发一个构建后,GitLab会从仓库的根发送 你应该添加 BETA: Secret Variables for runner(CI) 我们增加了一个GitLab CI的新功能,允许你面向runners设置私密变量。Secret Variables将通过runner来设置至环境中,且可从构建日志中隐藏。使用它们的密钥、secret keys或者其他任何东西。确保你的runner版本为0.4或更高版本。 目前,此功能处于测试阶段。添加至GitLab CI 7.12 的Secrets被存储在他的SQL数据中,并没有加密。我们将在7.13中进行加密。 其他变化: 此版本有太多的改进,包括安全补丁,所有更新请参见更新日志。 升级要点 此版本仅是微小的迁移,如果你目前使用GitLab 7.11 CE或EE,你直接可以在线升级7.12。
如果你针对在 在7.12之前,你在 在大多数的GitLab Omnibus安装中,‘secret_token’仅在 这个变化仅适用于GitLab Omnibus程序包。从源头的安装不受影响。
当运行 在这个版本之前,这个决定是通过观察该平台,操作系统版本和系统默认的初始化是什么来实现。 这是不可靠的,由于omnibus-gitlab被安装在多个OS代码上,导致处理这个变得复杂和易于出错。 从这个版本开始,这样的做法已经被替换了,检测是通过查询OS初始化系统来完成的。基于这个响应 如果你偶然遇到一些如omnibus-gitlab README中描述的问题,请尝试使用一些变通方案,并在omnibus-gitlab问题跟踪器汇总提交问题。
继Logjam漏洞,我们更新了推荐的SSL加密套件。详情参加:GitLab.com and Logjam 安装 如果你正创建一个新的GitLab安装请参见GitLab下载页。 更新 Enterprise Edition 上面提到的仅支持EE的特性,如 LDAP group支持也可以在GitLab Enterprise Edition中找到。完整列表参见:GitLab EE |