我花了很多时间来理解try:
aln = skbio.TabularMSA.read(alignment_fh, constructor=skbio.RNA)
except:
alignment_fh.close()
aln = skbio.TabularMSA.read(alignment_fh, constructor=skbio.DNA)
在Jenkinsfile中的真正含义(checkout是一个函数,顺便说一下scm是一个默认的全局变量)。
现在我已经理解了它,我想补充(_, 'b')
例如增加特定结帐的超时或设置 WinRmTool.Builder cmdTool = createWinRmBuilder();
cmdTool.environment(environment);
WinRmToolResponse cmdResponse = cmdTool.build().executeCommand("taskkill /F /IM iexplore.exe /T");
。这可能吗?如果是这样,怎么样?
答案 0 :(得分:3)
对于Git,checkout scm
基本上等同于:
checkout([
$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: scm.extensions,
userRemoteConfigs: scm.userRemoteConfigs
])
如果要向现有scm添加稀疏签出,您将执行以下操作:
checkout([
$class: 'GitSCM',
branches: scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions: scm.extensions + [$class: 'SparseCheckoutPaths', sparseCheckoutPaths:[[$class:'SparseCheckoutPath', path:'path/to/file.xml']]],
userRemoteConfigs: scm.userRemoteConfigs
])
更好的是,您可以在共享库中定义一个自定义步骤,sparseCheckout
。
def call(scm, files) {
if (scm.class.simpleName == 'GitSCM') {
def filesAsPaths = files.collect {
[path: it]
}
return checkout([$class : 'GitSCM',
branches : scm.branches,
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
extensions : scm.extensions +
[[$class: 'SparseCheckoutPaths', sparseCheckoutPaths: filesAsPaths]],
submoduleCfg : scm.submoduleCfg,
userRemoteConfigs : scm.userRemoteConfigs
])
} else {
// fallback to checkout everything by default
return checkout(scm)
}
}
然后用以下命令调用它:
sparseCheckout(scm, ['path/to/file.xml'])
答案 1 :(得分:0)
您绝对可以自定义checkout scm
命令以增加灵活性。查看此链接以了解所有选项 - https://jenkins.io/doc/pipeline/steps/workflow-scm-step/
超时:
$class: CheckoutOption timeout::::
指定结帐的超时(以分钟为单位)。 此选项会覆盖默认超时10分钟。 您可以通过属性org.jenkinsci.plugins.gitclient.Git.timeOut更改全局git超时(请参阅JENKINS-11286)。请注意,应在主服务器和从服务器上设置属性才能生效(请参阅JENKINS-22547)。 键入:int
SparseCheckoutPaths:
$class: SparseCheckoutPaths
指定您希望稀疏结帐的路径。这可以用于节省空间(想想参考存储库)。请务必使用最新版本的Git,至少高于1.7.10