是否可以使用共享库来重新调整docker run命令?
我有以下内容,
scr / docker_run.groovy
def ubuntu() {
echo "docker run --rm " +
'--env APP_PATH="`pwd`" ' +
'--env RELEASE=true ' +
"-v \"`pwd`:`pwd`\" " +
"-v /var/run/docker.sock:/var/run/docker.sock " +
"ubuntu"
}
Jenkinsfile
@Library('pipeline-library-demo') _
pipeline {
agent {
node {
label params.SLAVE
}
}
parameters {
string(name: 'SLAVE', defaultValue: 'so_slave')
}
stages {
stage('ubuntu') {
steps {
script {
sh docker_run.ubuntu ls -lah
}
}
}
}
}
我在groovy文件中尝试了其他操作,例如echo,sh,call,所有返回错误。
任何帮助都会很棒
答案 0 :(得分:0)
如果使用的是DSL样式管道,则应在共享库中定义步骤,而不是直接在src /目录中定义函数。应该遵循此处https://jenkins.io/doc/book/pipeline/shared-libraries/定义的目录结构 然后,您可以定义
之类的步骤>>> import numpy as np
>>> [int(x) for x in np.binary_repr(123)]
[1, 1, 1, 1, 0, 1, 1]
并通过以下方式从您的管道中调用
:vars/mystep.groovy
def call() {
this.sh("docker_run.ubuntu ls -lah");
}
最佳