首页 文章

Jenkins声明性管道找不到一些脚本

提问于
浏览
0

我编写了一个Jenkins管道,相关部分如下所示:

pipeline {

    agent {
        dockerfile true 
    }
    triggers {
        pollSCM('H 1 * * 1-5')
    }
    options {
        buildDiscarder(logRotator(artifactNumToKeepStr: "${NUMBER_OF_ARTIFACTS_TO_KEEP}"))
        disableConcurrentBuilds()
        timeout(time: 60, unit: 'MINUTES')
        timestamps()
    }

    stages {
        stage('Metadata') {
            steps {
                script {
                    sh 'java -version'
                }
                script {
                    sh './mvnw -v'
                }
            }
        }

        stage('Build') {
            steps {
                script {
                    sh './mvnw --batch-mode clean install'
                }
            }
        }

        stage('Archive artifacts (develop/master)') {
            when {
                anyOf {
                    branch 'master'
                    branch 'develop'
                }
            }
            steps {
                script {
                    sh './package.sh'
                }
                archive '**/target/*.jar'
                archiveArtifacts artifacts: '*.deb'
            }
        }
    }


    post {
        always {
            deleteDir()
        }
        failure {
            sendNotifications currentBuild.result
        }
        unstable {
            sendNotifications currentBuild.result
        }
    }
}

和我的Dockerfile:

FROM alpine
RUN apk add --no-cache dpkg openjdk8

所有脚本运行正常,但package.sh除外,我在输出中得到以下日志:

07:47:25 [chx-sync_-sync_master-A2F53LY4I2X54TLDEU2Z2PXI423NI6FODHQDS7CRIKCCNDF5UGOA]运行shell脚本07:47:25 ./package.sh 07:47:25 / home / jenkins / jenkins / workspace / chx-sync_-sync_master-A2F53LY4I2X54TLDEU2Z2PXI423NI6FODHQDS7CRIKCCNDF5UGOA @ tmp / durable-dbcb4143 / script.sh:第1行:./ package.sh:未找到

我无法弄清楚为什么除了这个脚本之外的所有脚本都可以工作 . 它们都位于Git项目的根目录中 . 我的管道中是否有一些命令会改变工作目录,或者这里发生了什么?

EDIT:

我猜猜package.sh中的shebang可能有用吗?这是 #!/bin/bash .

1 回答

  • 0

    我在SO得到了这个答案的答案 . 我只是改变了使用 #!/bin/sh 并且它正在工作 .

相关问题