从Jenkins部署到Mule服务器期间出现问题

时间:2020-05-24 13:55:36

标签: maven jenkins deployment

当我尝试将我的jar文件从位于AWS Instance中的jenkins部署到mule独立服务器时,我面临以下问题。请帮助我解决它。

+ sudo su- cp /var/lib/jenkins/workspace/Addition/addition/target/addition-1.0.0-SNAPSHOT-mule-application.jar /home/ec2-user/mate/mule-enterprise-standalone-4.3.0/apps

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified
Build step 'Execute shell' marked build as failure
Finished: FAILURE

enter image description here

4 个答案:

答案 0 :(得分:0)

可能是您键入错误或未剪切并粘贴,但我认为您输入的命令 su-错误 看来您的命令很混乱,而sudo根本看不到命令​​。

如果您需要 su ,则应该为 su-,但我认为您根本不需要一个。

您只需以root身份复制文件(由于sudo),则无需再次成为root。

一些建议。侦听系统消息-不要使用root用户访问权限。调整您的特权/组/权限,以便您的进程无需root访问即可写入此目录。 其次,由于部分云和网络可能很慢-请勿直接复制到apps文件夹。复制到应用所在的同一文件系统上的临时位置,然后将文件移动到aps。

Mule运行时每5秒检查一次apps文件夹中是否有新的应用程序。如果未完全复制文件,则可能会损坏已部署的应用程序。

答案 1 :(得分:0)

该错误是由于权限设置不正确引起的,实际上是在How to fix 'sudo: no tty present and no askpass program specified' error?之前问过的

说过,使用root用户访问权限进行构建和部署实际上是一种不良的安全做法,应避免使用。您可以为特定用户使用sudo -u USER。在您的命令行中,我可以看到脚本正在部署到用户ec2-user的主目录中,因此您应该使用该脚本来限制访问。

答案 2 :(得分:0)

该图像来自linux终端。但是,如果我在jenkins shell中执行相同的操作,那就是抛出错误

答案 3 :(得分:0)

问题已解决,问题不在于命令,而是詹金斯... 只需执行以下2个步骤,即可解决问题。

须藤visudo jenkins ALL =(全部)NOPASSWD:全部