TeamCity On-Premises 2024.03 Help

Kotlin 脚本

Kotlin Script 运行器允许在 Windows 、 Linux 或 macOS 上执行 Kotlin 脚本。

参考 配置构建步骤 以获取常见构建步骤设置的描述。

前提条件

要运行此步骤,必须将版本为 1.3.70 或更高版本的 Kotlin 编译器安装为代理工具

Kotlin 脚本设置

设置

描述

Kotlin 编译器

选择一个编译器版本:使用捆绑或默认版本,或者输入相对于 构建检出目录 的编译器的自定义路径。

脚本类型

选择以下两个选项之一:直接在运行器中输入自定义脚本体,或指定到 Kotlin 脚本文件的路径( .kts)。

Kotlin 脚本

适用于 Custom Script 类型。

输入 Kotlin 脚本的代码。

为了通过外部库扩展脚本的功能,您可以使用基于注解的引用来使用 Maven 依赖项。 例如:

#!/usr/bin/env kotlin @file:Repository("https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") @file:DependsOn("org.jetbrains.kotlinx:kotlinx-html-jvm:0.7.3") import kotlinx.html.*; import kotlinx.html.stream.*; import kotlinx.html.attributes.* val addressee = args.firstOrNull() ?: "World" print(createHTML().html { body { h1 { +"Hello, $address!" } } }) ...

参见 Kotlin 帮助 以获取详细信息。

Kotlin 脚本文件

适用于 Script File 类型。

输入到脚本文件的路径,相对于 构建检出目录

为了支持 基于注解的引用,提供的文件必须具有 .main.kts 扩展名。

脚本形参

按照命令行的方式输入脚本的参数。 参数引用得到了支持。

出于安全考虑,我们强烈建议您避免在脚本内直接使用参数引用,如果这些参数代表安全值。 您可以通过脚本参数来传递此类值。 例如,要传递一个令牌值,向 "Password" 类型中 添加新的构建参数,然后在运行器的 脚本参数 字段中指向它:

% \access_token %

并在脚本中将其作为参数进行调用:

val accessToken = args[0]

这样,您可以在脚本的任何地方重复使用 token 的值。

这种做法将确保这些值仅在构建期间在代理上可用。 否则,如果参数直接在脚本内指定,那么它们的解析值将会在代理机器上存储,只要脚本本身被存储,这可能会威胁到您的数据安全。

JDK

选择 JDK 来运行脚本:

  • Default:JDK Home 的路径要么从代理机器上的 JAVA_HOME 环境变量读取,要么从 构建代理配置文件 ( buildAgent.properties )中指定的 env.JAVA_HOME 属性读取。 如果这些值未被指定,TeamCity 将使用构建代理进程自身的 Java Home。

  • Custom:输入到代理上安装的 JDK 的路径。

  • 选择已安装的任何 版本号

JVM 命令行参数

附加的 JVM 命令行参数允许您设置初始和最大堆大小,启用额外的日志记录,选择所需的字节码验证器模式等等。

您可以指定标准的(例如以 - 开始,例如 -verbose:[class|module|gc|jni]--dry-run )和非标准的(例如以 -X 开始,例如 -Xmx<size>-XstartOnFirstThread )JVM 选项。

要指定多个命令行参数,使用空格作为分隔符。 例如:

-verbose:gc -Xdiag -Xcomp -Xmx512m -Xms256m
最后修改日期: 16日 7月 2024年