gpt4 book ai didi

groovy - 如何在 jenkinsfile 中硬链接(hard link)文件

转载 作者:行者123 更新时间:2023-12-03 17:15:53 25 4
gpt4 key购买 nike

我的总体目标是,从 S3 同步文件,然后硬链接(hard link)它以避免“许多副本”并在构建 docker 容器时节省空间。这是我到目前为止所拥有的

withAWS(region: 'us-east-1') {
s3Download(
bucket: 'artifacts.mydomain.tld',
file: "${env.ORACLE_RPM}",
path: "${env.HOME}/${env.ORACLE_RPM}",
)
script {
linkBlocking("etc/docker/${env.PROJECT}/${env.ORACLE_RPM}", "${env.HOME}/${env.ORACLE_RPM}")
}
}
s3Download有效,但我不确定如果有新版本可用,它是否会更新文件。

但是,当我尝试使用 FileSystem 类,我实际上无法弄清楚正确的调用约定,至少构造函数似乎没有充分记录。

最佳答案

还没有弄清楚如何在 groovy 中执行此操作,当我尝试使用 Java 的 nio Files 时出现沙盒错误,但是用 shell 步骤来做是可行的

           withAWS(region: 'us-east-1') {
script {
try {
s3Download(
bucket: 'artifacts.mydomain.tld',
file: "${env.HOME}/${env.ORACLE_RPM}",
path: "${env.ORACLE_RPM}",
)
}
catch (Exception e ) {// don't update the file if it exists
}
finally {
sh "ln -f ${env.HOME}/${env.ORACLE_RPM} etc/docker/${env.PROJECT}/${env.ORACLE_RPM}"
}
}

}

关于groovy - 如何在 jenkinsfile 中硬链接(hard link)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48592226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com