TeamCity 2018.1:开箱即用的新Kotlin DSL,高可用性模式,改进的Docker集成和Amazon S3

哈Ha! 我们最近发布了TeamCity的新版本-2018.1。 这是今年CI / CD服务器的第一个主要版本。 还有一些要看的东西。

一如既往,变化的全部清单令人印象深刻 。 但是这里我们将重点关注该发行版的四个主要功能。 走吧



新TeamCity Kotlin DSL


TeamCity拥有自己的DSL(领域专用语言),您可以用它描述项目的设置并以Kotlin代码构建配置,体现基础设施即代码的原理。 在2018.1中,我们对DSL的格式进行了重大修改,使其更加简单,便捷和功能强大。

更容易 。 由于TeamCity不再需要uuid服务器和项目ID,因此简化了DSL格式,他学习了如何独立于项目名称和构建配置来生成它们。 例如,这里是描述TeamCity中一个简单的“ Hello world”项目所需的全部代码:

version = "2018.1" project{ buildType(HelloWorld) } object HelloWorld : BuildType({ name = "Hellow world" steps { scriptContent = "echo 'Hello world!'" } }) 

单个文件 。 现在,所有用于描述TeamCity设置的代码都存储在一个文件中-settings.kts,必须将其添加到.teamcity目录中。

可移植性 。 由于该代码现在没有绑定到特定的服务器或项目,因此可以将其重用于同一服务器内的其他安装或项目。 只需将settings.kts复制到适当的存储库即可。

从URL创建项目 。 为了使TeamCity从代码中读取和应用设置,只需使用.teamcity / settings.kts为它提供到存储库的链接就足够了。 所有描述的设置将自动执行。

这是来自antonarhipov的 Kotlin DSL新功能的简短演示(英语):


高可用性和只读


在2018.1中,可以以只读模式启动服务器。 这使您可以配置一个高度可访问的TeamCity群集,该群集由两个TeamCity服务器(主服务器和备用服务器)组成,它们以只读模式工作。 在这种情况下,只读服务器将具有对数据库和数据目录的读取访问权,并将不断提升由主服务器执行的数据修改。 如果主服务器发生故障,则只读服务器将接受所有请求。 重要的是要理解,只读服务器将只能在主服务器崩溃时显示最后一个状态,但不能更改该状态。

对于大型安装而言,这是正确的,这对于在计划的故障期间和计划的更新期间对CI服务器的不间断访问都很重要。

改进的Docker支持


我们之前曾写过关于TeamCity支持Docker的事实,即:在容器中启动构建,创建Docker映像,从存储库中添加和删除它们,启动Docker命令,Docker编写。

此版本增加了对.NET CLI和Powershell运行程序的支持,使您可以在Docker容器内完成这些构建步骤。

Docker运行程序本身也已更新:它本身支持构建,推送等。

在此视频中,您可以看到Docker支持在TeamCity中的工作方式:


将工件存储在Amazon S3上


TeamCity AWS S3插件已经存在了一段时间,但是在2018.1版本中,我们修复了许多问题并将其包含在主发行版中。 S3集成非常优雅地处理了依赖工件和清理工件,并且已集成到TeamCity UI中,以至于毫无怀疑的用户可能不会注意到工件存储在S3存储桶中。

这是一个演示:


其他改进


在其他改进中,值得注意的是从模板继承的组装步骤更加便捷。 特别是,现在可以在模板中设置前步骤和后步骤,并指出配置步骤介于它们之间。


新版本还大大改善了NuGet feed的工作。 现在,可以在特定项目级别启用它,而不是在整个服务器上全局启用它,这在过去会导致性能问题。 结果,现在支持不同项目中的多个NuGet feed。



如果您网络上的某些服务适用于未由知名机构签名的SSL证书,那么您可以通过便捷的Web界面将其轻松上传到根服务器项目中,而不是将此类证书导入Java服务器和代理的相当复杂的过程。 服务器和代理都将立即开始使用新证书。

我们最近举行了一次网络研讨会,其间anantarhipov演示了上述所有操作。 您可以在条目中看到它:


您可以从我们的网站下载最新版本的TeamCity 2018.1(以及在AWS上,Azure中或从Docker容器中运行)。 在我们的错误跟踪器中对新版本发表评论和建议。

我们提醒您,TeamCity Professional完全免费提供100个版本的配置和3个版本的代理 ,而没有时间和功能的限制。
有一个不错的构建!

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


All Articles