Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TeamCity,KotlinDSL:如何传递FTP密码_Kotlin_Ftp_Passwords_Teamcity - Fatal编程技术网

TeamCity,KotlinDSL:如何传递FTP密码

TeamCity,KotlinDSL:如何传递FTP密码,kotlin,ftp,passwords,teamcity,Kotlin,Ftp,Passwords,Teamcity,最近,我遇到了这样一种情况,我们的TeamCity构建配置应该由给定的业务逻辑组成,而不是手工组成。Kotlin DSL确实非常符合我们的需要,所以我很快就编写了一个.KTS脚本。到目前为止,我唯一的问题是FTP上传步骤,即密码参数。我所有输入密码的尝试都以FTP 503错误结束 像这样: param("jetbrains.buildServer.deployer.username", "abc") param("jetbrains.buildServer.deployer.password",

最近,我遇到了这样一种情况,我们的TeamCity构建配置应该由给定的业务逻辑组成,而不是手工组成。Kotlin DSL确实非常符合我们的需要,所以我很快就编写了一个.KTS脚本。到目前为止,我唯一的问题是FTP上传步骤,即密码参数。我所有输入密码的尝试都以FTP 503错误结束

像这样:

param("jetbrains.buildServer.deployer.username", "abc")
param("jetbrains.buildServer.deployer.password", "secret-password")
或者像这样,当我搜索出非安全密码参数过时时:

param("jetbrains.buildServer.deployer.username", "abc")
param("secure:jetbrains.buildServer.deployer.password", "secret-password")
如果我在TeamCity中手动输入密码并检查生成的DSL,我会发现密码是安全的:

param("secure:jetbrains.buildServer.deployer.password", "zxx5a3133fc69ef3252") <- "abc" password
param("secure:jetbrains.buildServer.deployer.password", "zxx4469c7c25073dd9f") <- "123" password

这里使用的编码/加密是什么?理想情况下,如何通过Kotlin DSL脚本中的%parameter%传递任意密码?

当您需要将密码添加到版本化设置中而不是通过TeamCity UI时(例如,使用基于Kotlin的DSL添加设置),您需要将密码添加到TeamCity,并获取相应的令牌以在设置中使用。可以通过Project | Actions菜单中的Generate token for password action生成令牌

此时,项目层次结构无法继承密码。如果项目中的设置VCS根、OAuth连接、云配置文件需要密码,则为该密码生成的令牌只能在此项目中使用。例如,不可能获取生成的令牌并在子项目中使用类似的设置。在这种情况下应该生成一个新的令牌。如果需要在嵌套项目中使用一个安全值,请考虑将一个带有安全值的A添加到嵌套项目中的参数中。 另一种生成令牌的方法是

mvn -Dtext="mysecret" org.jetbrains.teamcity:teamcity-configs-maven-plugin:scramble