【问题标题】:Using Jenkins to SSH into EC2 Ubuntu instance and run shell scripts使用 Jenkins 通过 SSH 连接到 EC2 Ubuntu 实例并运行 shell 脚本
【发布时间】:2018-01-30 00:14:30
【问题描述】:

我已经在本地安装了 Jenkins,我已经创建了自己的 EC2 实例,我可以通过 ssh 进入我的实例并运行一些 shell 脚本来关闭安装在我的实例上的 Wildfly 服务器。

这就是我在 Mac 上手动操作时所做的。

  1. 打开我的mac终端,输入

    ssh -i /Users/xxx/tools/xxxx.pem ubuntu@10.206.xxx.xx

  2. 它将登录到我的实例,然后我输入:

    cd /srv/wildfly-10.1.0.Final/bin

    sudo -s

    source /etc/profile

    ./jboss-cli.sh --connect command=:shutdown

  3. 屏幕会输出

{"结果" => "成功"}

现在,我想使用 Jenkins,当我单击构建按钮时,它会 ssh 进入该实例并为我运行这些 shell 脚本。预期输出与我在 ssh 进入实例后运行它时相同。

我的问题是:登录 Jenkins 本地环境后,我应该遵循哪些步骤:localhost:8080

创建一个新项目,哪个?有没有我可以使用的插件?把我的shell脚本放在哪里,会成功运行吗?

指南会很有帮助,非常感谢!

补充: 当我尝试登录时:使用我的 ssh 命令,我收到此错误:

Pseudo-terminal will not be allocated because stdin is not a terminal.
Host key verification failed.

【问题讨论】:

  • 按照以下步骤操作: 1. 配置ssh key。 2.创建新的Item/pipeline,然后使用groovy代码逐步定义将与您的实例一起使用

标签: shell amazon-web-services jenkins amazon-ec2 ssh


【解决方案1】:

一篇文章中无法回答的问题太多。但这应该让你开始。

  1. 如果您需要在 jenkins 中设置密钥,从 jenkins 到您的 ec2 的 ssh 应该少密码。使用凭证管理器并通过粘贴私钥创建一个

https://www.cloudbees.com/blog/using-ssh-jenkins

  1. 请参阅通过 ssh 执行的远程命令以完成任务的其余部分。

  2. 对于工作类型的问题,此时只需使用freestyle .. 稍后,您可能会计划一些花哨的东西。

【讨论】:

    【解决方案2】:

    您需要在要求提供私钥的地方添加 PEM 文件详细信息

    【讨论】:

      最近更新 更多