groovy – 如何在jenkinsfile中硬链接文件

我的总体目标是,从S3同步文件,然后硬链接以避免“多个副本”并在构建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文件时,我遇到了一个沙箱错误,但是在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}"
                    }
                }

            }

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...