1

自上次操作系统更新以来,我面临着这个问题。

我在 anypoint-cli runtime-mgr cmdlet 的帮助下部署 Mule 应用程序。

这是我在 Jenkins 作业的 Execite Shell 任务中用于部署的示例代码。

export ANYPOINT_USERNAME=username@env 
ifexist="`anypoint-cli runtime-mgr cloudhub-application list|grep -iapplication-name|wc -l`" 
if [ $ifexist == 0 ] 
then
echo "Deploying the application ... " anypoint-cli runtime-mgr cloudhub-application deploy application-name application-artifact.zip 
else 
echo "Updating & ReDeploying the application ... " 
anypoint-cli runtime-mgr cloudhub-application modify application-name application-artifact.zip anypoint-cli runtime-mgr cloudhub-application start application-name 
fi

我收到以下错误:

[workspace] $ /bin/sh /tmp/jenkins72443737290339703.sh 频道已停止 /bin/bash stty:指定输出样式时,可能无法设置模式 /usr/lib/node_modules/anypoint-cli/node_modules/readline-sync/ lib/read.sh:第 48 行:/dev/tty:没有这样的设备或地址 stty:标准输入:设备的 ioctl 不合适 构建步骤“执行 shell”将构建标记为失败已完成:失败

从终端运行时,Shell 脚本运行良好。不确定在后台运行时发生了什么。

有人遇到过这个问题吗?

4

2 回答 2

0

使用ansible shell模块执行anypoint-cli,让jenkins能够触发ansible playbook。

CLI 支持交互式 shell 和标准 CLI 模式,并适用于:

剧本:

  • 主机:localhost 用户:ec2-user 任务:
    • 名称:执行远程命令 shell:anypoint-cli --username="{{USER}}" --password="{{PASS}}" 交换资产上传 [options] [filePath]
于 2019-07-12T09:21:45.373 回答
0

您收到此错误是因为当您通过 ssh 复制文件时,通过 jenkins 运行 ssh 会话时无法找到 tty 文件。因为 tty 将在交互式会话中可用。它不适用于 cron 或类似的会话。所以这就是为什么你会得到那个错误。在终端中执行此操作时不会出现该错误。在这里,我附上了一些链接。希望这可以帮助。

https://superuser.com/questions/1087382/dev-tty-no-such-device-or-address-only-in-a-script

https://www.unix.com/unix-for-dummies-questions-and-answers/6625-script-cron-error.html

于 2018-03-22T14:30:24.167 回答