使用当前日期创建工件目录
Create artifactory directory with current date
如何在 jenkins 中创建具有当前日期的工件目录。即目标路径应该有一个以当前日期作为目录名称的目录。
rtUpload (
serverId: 'Artifactory-1',
spec: '''{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/<CurrentDate>"
}
]
}''',
每次触发管道时,目标路径都应具有该特定日期的目录名称。例如,如果管道在 2022-03-29 上运行,则:
"target": "bazinga-repo/froggy-files/220329/"
你可以这样做
定义这个环境部分
environment {
CURRENT_DATE = new java.text.SimpleDateFormat('yyMMdd').format(new Date())
}
rtUpload (
serverId: 'Artifactory-1',
spec: '''{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/$CURRENT_DATE"
}
]
}''',
这是另一个选项:
def current_date = new java.text.SimpleDateFormat('yyMMdd').format(new Date())
pipeline {
// do stuff, generate files...
rtUpload (
serverId: 'Artifactory-1',
spec: """{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/${current_date}"
}
]
}"""
// more stuff
} // end pipeline
这利用了 groovy 字符串插值和主 pipeline
块外部的脚本管道变量。
当 运行 时,变量 current_date
将被分配,然后当它到达 rtUpload
调用时,将评估 spec
参数,因为它正在使用 triple-double-quote
符号 ${current_date}
部分将被 groovy 变量的值替换, 在它被传递给函数之前 .
这不依赖于 rtUpload
函数生成 shell 和评估 shell 环境,以便为规范定义提供日期值。
Groovy 个字符串
https://groovy-lang.org/syntax.html#all-strings
如何在 jenkins 中创建具有当前日期的工件目录。即目标路径应该有一个以当前日期作为目录名称的目录。
rtUpload (
serverId: 'Artifactory-1',
spec: '''{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/<CurrentDate>"
}
]
}''',
每次触发管道时,目标路径都应具有该特定日期的目录名称。例如,如果管道在 2022-03-29 上运行,则:
"target": "bazinga-repo/froggy-files/220329/"
你可以这样做
定义这个环境部分
environment {
CURRENT_DATE = new java.text.SimpleDateFormat('yyMMdd').format(new Date())
}
rtUpload (
serverId: 'Artifactory-1',
spec: '''{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/$CURRENT_DATE"
}
]
}''',
这是另一个选项:
def current_date = new java.text.SimpleDateFormat('yyMMdd').format(new Date())
pipeline {
// do stuff, generate files...
rtUpload (
serverId: 'Artifactory-1',
spec: """{
"files": [
{
"pattern": "bazinga/*froggy*.zip",
"target": "bazinga-repo/froggy-files/${current_date}"
}
]
}"""
// more stuff
} // end pipeline
这利用了 groovy 字符串插值和主 pipeline
块外部的脚本管道变量。
当 运行 时,变量 current_date
将被分配,然后当它到达 rtUpload
调用时,将评估 spec
参数,因为它正在使用 triple-double-quote
符号 ${current_date}
部分将被 groovy 变量的值替换, 在它被传递给函数之前 .
这不依赖于 rtUpload
函数生成 shell 和评估 shell 环境,以便为规范定义提供日期值。
Groovy 个字符串 https://groovy-lang.org/syntax.html#all-strings