GitLab 11.3与Maven存储库和安全环境一起发布

图片引起关注


随着新版GitLab 11.3的推出,我们很高兴为您提供对Maven存储库,代码所有者,安全环境和史诗预测的支持。 所有这些将有助于自动化环境和代码的管理,这将使Java开发人员更加高效。


Maven仓库


通过将Maven存储库直接嵌入到GitLab中,我们扩展了对Java项目的支持。 Java开发人员将欣赏一种安全且标准化的方法,将Maven库链接到版本控制系统,并通过在其他项目中重用这些库来节省时间。 GitLab Premium提供了此功能。


代码所有者和受保护的环境


从GitLab Starter开始的付费计划有机会为文件分配代码所有者 ,表明负责这部分代码的团队成员。 这是为将来的发行版做的准备,其中将加强对代码级别的内部控制。


从GitLab Premium开始,操作员(负责部署)还可以使用安全环境来设置权限,这些权限确定谁可以将代码部署到生产中。 这将大大降低某人发送不应添加的代码的风险。 原则上,它将增加环境的安全性。


史诗预测


项目组合管理已出现在GitLab Ultimate中,它将根据里程碑的截止日期自动预测史诗的开始和结束日期 。 由于这项创新,项目组合经理将能够将计划的开始和结束日期与为里程碑计划的工作进行比较,从而了解史诗中潜在的积压情况。 这将使您能够更快地决定要完成的工作以及何时调整计划。


每个人都可以贡献力量。


其中许多更改都是​​由庞大的GitLab社区进行的。 我们期待收到您对这些新功能的反馈和改进。 我们在一起,是一个伟大的团队!


让我们知道您对博客文章和Habré的评论的想法。 您对这个版本有什么期望? 我们应该继续做什么?


我们邀请您参加我们的会议网络广播版本11.3


GitLab MVP徽章


本月MVP- 乔治·齐奥利斯


乔治(George)添加了一个非常受欢迎的功能,许多人要求添加:现在,用户可以在个人资料页面的时间表中包括他们对开发的私人贡献。


谢谢George,为您不断改进GitLab做出的贡献,您很快就会获得一个很棒的商品套件!


GitLab 11.3版本的主要新功能


Maven仓库


(优质,极致,银,金)


对于软件公司而言,拥有一种简单且安全的方式来管理依赖关系很重要。 包管理工具(例如Java开发人员的Maven)提供了一种标准化的方式来分发库并管理跨项目的版本。


在版本11.3中,我们很高兴提供直接内置在GitLab中的Maven存储库支持。 低级服务的开发人员现在可以将其库发布到项目的Maven存储库中。 他们只需要与其他想要使用该库的团队共享一个简单的XML代码片段,其余的工作将由带有GitLab的Maven完成。


查看一个将程序集推送到GitLab Maven存储库中的测试项目 ,您会发现它很简单!


Maven仓库


GitLab Maven存储库文档原始票证


Shell和Kubernetes跑步者的交互式Web终端


(核心,入门,高级,终极,免费,古铜,银,金)


CI / CD工作由Runners执行,就像用户在管道中进行配置一样。 但是此过程无法控制,并且如果工作失败,用户将无法找出详细信息并确定问题的根源。 交互式Web终端使您可以连接到正在进行的或已完成的工作并手动运行命令,从而有助于更好地了解系统中正在发生的事情。


Shell和Kubernetes Runner的交互式Web终端


交互式Web终端文档原始票证


改进了.gitlab-ci.yml代码重用


(入门,优质,终极,古铜,银,金)


重用CI / CD流程代码是一种很好的做法,可帮助确保软件交付的一致性,为每项工作编写和维护的代码更少。 我们提供了一种灵活而强大的方法,可以使用extends在YAML模板中重用代码。


改进`.gitlab-ci.yml`中的内容以重用脚本


扩展块文档原始票证


现在可以在用户页面的图表中包含私人存储库中的存储


(核心,入门,高级,终极,免费,古铜,银,金)


我们在GitLab上喜欢开源软件。 但是有时您必须从事一个私有项目,而您(到目前为止)还没有准备好向公众开放。 否则,由于隐私原因,您可能会受到限制。 无论如何,GitLab都在您身边。


在此版本中,我们将提供机会在您的页面上的投资计划中包括私人发展贡献。 如果您为个人资料启用了此设置,则对私人项目的捐款也将显示在存款时间表和每日存款中。 因此,您在GitLab上私人项目上的活跃工作将得到准确展示,而不会泄露任何秘密细节。


感谢George Tsiolis的此功能!


在用户贡献图中包括私人贡献


个人资料中的私人存款文件原始机票


重新设计项目页面


(核心,入门,高级,终极,免费,古铜,银,金)


manbetx客户端打不开一直专注于改善我们产品的界面。


与GitLab 11.3一起,我们更新了项目UI页面以更好地呈现项目信息。 我们使此页面上的信息更加结构化,并且使顶部对齐到左侧并垂直优化了压痕,因此现在您可以快速查看有关项目及其内容的信息。


重新设计的项目概述


项目文件原票


保护环境


(优质,极致,银,金)


运营商通常负责保护我们每天发送代码的环境; 在生产环境中部署代码时,此任务尤为重要。


在受保护的环境中,操作员可以完全控制哪些用户,组或帐户有权在此环境中嵌入代码,从而确保环境的安全性。


保护环境


有关受保护环境的文件原始票据


代码所有者


(入门,优质,终极,古铜,银,金)


代码审查是任何成功项目的基本实践,但是并不清楚谁应该审查更改。 现在,对于每个GitLab文件,您可以分配一个或多个代码所有者,指示负责项目中代码的团队成员。


使用CODEOWNERS文件以类似于gitattributes的格式分配代码所有者,并在GitLab中查看文件时在提交的详细信息下方显示。


在将来的版本中,代码所有者还将参与合并请求过程,以提议批准将确认合并请求的人员。 而且在受保护的分支中,只有代码所有者才能更改文件


代码所有者


有关密码所有者的文件原始机票


具有嵌入里程碑日期的史诗的预测


(最终,金色)


在此版本之前,您可以设置史诗的固定开始日期和结束日期,这对于高级史诗计划和时间跟踪非常有用。 但是,由于任务是附加到史诗并分配给特定的里程碑的,因此史诗的日期反映了这些里程碑将是很好的。


从此版本开始,您可以在这些日期的固定值和“ From milestones的动态值之间切换。 作为计划的开始,最早的开始日期将在与该史诗任务相关的所有里程碑中选择。 在添加和删除任务,向这些任务添加和删除里程碑或更改里程碑日期时,此截止日期将动态更改。 同样,史诗的动态结束日期也会起作用。


对于希望从长期自上而下的计划无缝过渡到短期自下而上的计划的团队,此功能很有用。 您将几周前发布的有关史诗般路线图的帖子中找到更多信息。


具有集成里程碑日期的史诗预测


史诗原票的文件


GitLab 11.3中的其他改进


新史诗的通知可以手动连接


(最终,金色)


在上一个版本中,我们为那些将组活动通知设置为“ Watch级别的用户添加了有关新史诗的电子邮件通知。 在此版本中,我们添加了更多功能来自定义某些内容。 现在,使用“ Custom级别,您可以启用或禁用有关此事件以及其他事件的通知。


新的史诗事件作为自定义通知


通知文件原始机票


快速操作,可从任务页面向史诗添加任务


(最终,金色)


在史诗页面上,可以很容易地将其添加或删除已附加的任务,这在史诗本身上工作时非常方便。


但是有时您从事一项任务,并希望将其附加到现有的史诗中,您知道该史诗的名字。 现在,通过插入史诗般的URL,在任务页面上快速执行操作即可轻松实现。 在下一发行版中,将出现一个快速动作,以自动完成功能按名称搜索史诗


快速动作也将被添加以将任务与附加的史诗分离。


快速采取措施将问题添加到史诗中(来自问题)


快速行动文档原始票据


允许独立确认合并请求


(入门,优质,终极,古铜,银,金)


创建合并请求的用户可能不是更改的作者,其他用户可以将其他更改添加到打开的合并请求中。 维护人员现在可以在项目设置中允许自行批准合并请求。


以前,假定打开合并请求的用户默认情况下批准它(包括其他人所做的更改),因此他不参与合并请求的批准。 在许多情况下并非如此,他将反对其他变化。 添加显式权限可消除此假设。


有关合并请求原始票据的 自我确认的文档


在项目概述中显示存储库语言


(核心,入门,高级,终极,免费,古铜,银,金)


在GitLab中查看项目时,立即查看存储库中使用的编程语言既重要又有用。


在此版本中,我们向项目概述添加了编程语言面板,以显示项目中语言的相对用法。


在项目概述上显示存储库语言


项目文件原票


用户实例的自定义文件模板


(极致,极致)


LICENSE.gitignoreDockerfile.gitlab-ci.yml的模板使将这些常见文件添加到项目中变得容易。 现在可以通过选择存储库模板将此类文件的自定义模板添加到GitLab用户实例。


当GitLab模板太通用时,自定义模板会派上用场。 例如,如果公司要求在每个项目中使用用户许可证,或者每个微服务都应使用复杂的Dockerfile


感谢Daniel Barker添加自定义许可证模板


实例原始票证的 模板存储库文档


Web IDE文件模板


(核心,入门,高级,终极,免费,古铜,银,金)


LICENSE.gitignoreDockerfile.gitlab-ci.yml文件模板可轻松将这些共享文件添加到项目中,并且现在可以在Web IDE中使用。 Web IDE中的文件模板使您可以轻松地在IDE Web环境中启动新项目,并使这些重要文件保持最新状态。


Web IDE中的文件模板


Web IDE文档原始票证


创建新项目时添加了项目名称字段


(核心,入门,高级,终极,免费,古铜,银,金)


要将项目名称添加到新创建的GitLab项目中,您必须进入项目设置并在其之前写入项目地址(语义URL)的相应“可读”部分。


使用GitLab 11.3,我们将项目名称字段添加到“创建项目”表单。 此外,现在可以从项目名称自动生成语义URL,但仍可以手动对其进行更改。 这样可以加快并简化新项目的创建。


创建新项目时定义项目名称


有关创建项目的文档原始票据


将上传的Wiki文件存储在Wiki存储库中


(核心,入门,高级,终极,免费,古铜,银,金)


通过Wiki编辑器上传到Wiki的图像现在存储在Git存储库中。 这些图像将使用Gollum在本地预览中显示。


以前,图像保存在项目下载目录中,与票证和合并请求中下载的其余附件位于同一位置。 这导致无法对Wiki进行适当的本地查看,以及无法转移到另一个Git存储库。


Wiki文档原始票证


SAST对Groovy的支持


(最终,金色)


静态应用程序安全测试(SAST)旨在在源代码中的漏洞进入存储库后立即对其进行检测。 为此,代码查找可能导致应用程序安全问题的已知模式和常见错误。 这就是每种语言都需要特殊支持的原因。


使用GitLab 11.3,我们将Groovy添加到GitLab SAST支持的语言列表中。 现在,将自动检测使用该语言的项目,因此您无需更改代码或管道定义中的任何内容即可启用此功能。 Auto DevOps还支持它作为其默认配置的一部分。


SAST文档原始票证


分支网站挂钩推送事件过滤器


(核心,入门,高级,终极,免费,古铜,银,金)


推送事件的Webhooks使自动通知外部服务新的提交变得容易。 但是,分支机构通常具有不同的重要性。 现在可以通过分支过滤推送事件,以便仅将对您重要的更改通知外部服务。


以前,GitLab不会过滤Web挂钩,并且大多数外部系统都无法过滤传入的事件。 这意味着,如果您只希望将推送事件的一部分由外部服务使用,则无法将这些外部服务直接与GitLab集成。


感谢Duana Saskia的此功能!


按分支过滤Webhook推送事件


Web挂钩文档原始票证


图书馆指标警报


(最终,金色)


GitLab 11.2增加了为自定义指标设置警报的功能,该功能使开发人员可以在应用程序出现任何问题时接收通知。


在GitLab 11.3中,我们扩展了对所有指标的警报支持,包括库指标提供的默认指标


库指标警报


警报文档以获取度量标准原始故障单


默认情况下启用自动DevOps


(核心,入门,高级,终极,免费,古铜,银,金)


Auto DevOps已在GitLab 11.0版中公开可用,尽管它已被广泛使用,但我们希望所有GitLab用户都能利用它的广泛功能。 从自动构建(Auto Build)到自动监视(Auto Monitoring),已经可用的Auto DevOps具有显着的优势。


从GitLab 11.3开始,默认情况下将在GitLab.com和用户实例上启用Auto DevOps,以便每个项目都可以利用这些功能。


如果要为您的项目或整个实例禁用Auto DevOps,请查阅有关启用/禁用Auto DevOps的文档。


默认情况下启用自动DevOps


Auto DevOps文档原始票证


对GitLab Geo的增强


(极致,极致)


我们一直致力于改善Geo ,这是我们为地理位置分散的团队提供的功能。 GitLab 11.3中的一些重要增强功能:



您还可以阅读有关我们如何创建GitLab Geo的信息


地理配置文档和地理 任务板


在第一个管道发生故障时自动为项目禁用Auto DevOps


(核心,入门,高级,终极,免费,古铜,银,金)


在GitLab,关键产品值之一是“默认启用”。 当我们引入一项新的自定义功能(我们认为这非常重要)时,默认情况下会启用它,以便每个人都可以从中受益。 尽管Auto DevOps支持使用最流行的编程语言的项目,但是可能会有一些需要额外配置的专业项目。


由于我们要确保不为不受支持的项目运行Auto DevOps管道,因此当其中一个管道发生故障时,我们将禁用Auto DevOps。 manbetx客户端打不开会通知项目所有者有关此情况的信息,以便他愿意时可以进行必要的配置更改以进一步使用Auto DevOps。 进行必要的更改后,项目所有者可以重新启用Auto DevOps。


在第一个管道发生故障时自动为项目禁用Auto DevOps


Auto DevOps启用文档原始票证


Gitaly v1.0


(核心,入门,高级,终极,免费,古铜,银,金)


现在可以完全通过Gitaly(用于访问Git的GitLab gRPC服务)进行GitLab常规使用的Git访问。 这意味着,启用所有其他功能后,您可以在没有NFS的服务器上运行Gitaly。


在下一版的Gitaly v1.1中,默认情况下将包括所有功能。 其余所有功能都将使用Gitaly,因此您可以不使用NFS。


阅读有关Gitaly v1.0路径的博客文章。


Gitaly文档原始史诗


亚搏体育app Runner 11.3


(核心,入门,高级,终极,免费,古铜,银,金)


我们还在此版本中发布了GitLab Runner 11.3。 GitLab Runner是一个开源项目,用于运行CI / CD工作并将结果发送回GitLab。


最重要的变化:


可以在CHANGELOG GitLab Runner中找到所有更改的列表。


GitLab Runner文档


GitLab使用的开源软件组件列表现已在线提供


(核心,入门,高级,终极,免费,古铜,银,金)


从GitLab 11.3开始,我们使GitLab使用的开源软件列表更易于访问。 在此发行版之前,我们的每个Linux软件包中都提供了该软件包,这需要加载和提取内容。


现在,我们立即将此信息在线发布,以便可以更轻松地查找以及链接到该信息。 该列表适用于GitLab CEGitLab EE




详细的发行说明和更新/安装说明可以在原始的英语帖子中找到: 与Maven存储库和受保护的环境一起发布的GitLab 11.3


Cattidourdenainonekorishavantnick_volynkin负责英语翻译。

Source: https://habr.com/ru/post/zh-CN425819/


All Articles