-bash:./deploy.sh:权限被拒绝,错误:脚本返回了退出代码126

时间:2018-12-09 13:29:47

标签: java bash spring-boot jenkins

我正在尝试使用Jenkins进行连续部署,这涉及将jar文件发送到远程服务器,并在远程服务器上将其启动后启动jar。

  

问题是我不断收到访问被拒绝的错误,并且尝试使用远程和本地服务器上的每个帐户似乎都无法正常工作。我收到相同的错误。

詹金斯文件

 timeSlot.sessions.forEach((sessionIter) {
      Session session = mSessions[sessionIter.toString()];
      if (session != null) {
        Widget sessionCard = buildSessionCard(timeSlot, session);
        sessionCards.add(sessionCard);
      }
    });

deploy.sh

pipeline {
    agent any

    stages {

        stage ('Packaging stage') {

            steps {
                withMaven(maven : 'Maven') {
                    sh 'mvn clean install'
                }
            }
        }

        stage ('Deploy To Dev Server') {

             steps {
                sh './deploy.sh'
         }
       }
    }

}

enter image description here

1 个答案:

答案 0 :(得分:3)

您的deploy.sh似乎无法执行,如错误代码126“ 命令不可执行”所示。

ls -l path/to/

输出应类似于:

-rw-r--r--    1 user  staff      402 Aug  1 10:55 deploy.sh

如果文件没有可执行标志,则应使用chmod更改访问权限,例如:

chmod +x path/to/deploy.sh

结果应该是这样(注意第四个字符 x ):

-rwxr--r--    1 user  staff      402 Aug  1 10:55 deploy.sh

如果您的脚本已提交给git,也可以执行以下操作:

git update-index --chmod=+x path/to/deploy.sh