持续集成 pipeline 环境变量设置 python 请教

测试小书童 · 2017年12月21日 · 最后由 不二家 回复于 2018年01月04日 · 2389 次阅读
  • docker 启动 jenkins
docker run -p 8080:8080 -p 50000:50000 -v /Users/XXXi/jenkins_home:/var/jenkins_home jenkins
  • 在 Environment variabless 设置了环境变量
    PYTHON3

  • 编写 pipeline

pipeline {
    agent any
    stages {
        stage('build') {
            steps {
                sh '${PYTHON3}/bin/python3 --version'
                echo 'python~~~~'
            }
        }
    }
     post {
        always {
            echo 'report'
        }

    }
}

问题点

  • 执行直接报/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/bin//python3: not found
  • 初学者,希望哪位大神帮忙指导下,谢谢
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 5 条回复 时间 点赞

这个问题很好理解,原因是因为你是 docker 方式启动 jenkins,docker 中的 jenkins 不识别 python,应该映射进去就好了,具体如下:

docker run -p 8080:8080 -p 50000:50000 -v /Users/XXXi/jenkins_home:/var/j -v python路径:docker中路径

然后后面调用 python 的时候,记得使用 docker 中的路径

不熟悉的话其实不太建议用 docker 方式使用 Jenkins,会有一些小坑,当然如果你对 docker 很熟悉,也没问题的 (个人的小建议哈)

rocl 回复

非常感谢😊

rocl 回复

你好,想请教一下,如何设置 pipeline 中关于 paramter choice 选项中,增加 groovy 脚本。我找到一个链接,可是怎么试都不行 https://stackoverflow.com/questions/44570163/jenkins-dynamic-declarative-pipeline-parameters

其实我的目的就是 choice 中,执行获取远程代码分支名字的 groovy 脚本。

未使用 Jenkins pipeline 的时候,我通过在 dynamic choice parameter 插件中执行 groovy 脚本获取。

不二家 回复

https://stackoverflow.com/questions/25509067/git-branch-select-in-jenkins-with-groovy-script
这个先看下能不能解决你的问题?我对你的问题也有点晕
https://stackoverflow.com/questions/42501553/jenkins-declarative-pipeline-how-to-read-choice-from-input-step/42502838#42502838
这个据说解决了问题

我们加下 QQ? 443056241,我可以运行下看看,行不行
因为
(1).active choice 和 extended choice 也可以考虑
(2).另外 script pipeline 和 declarative pipeline 对于不同的 choice 也要求不同

rocl 回复

你好,才看到,已经加你 QQ,不知道你看到没有,我的 qq 是 872489864

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册