由于我想安装 Jenkins(前 Hudson)以在 AWS Beanstalk 上运行我的持续集成流程,我需要一个自定义 AMI,因为必须为 Jenkins 更改 Tomcat 和 Linux 中的某些参数

我运行了最初由 Beanstalk 启动的安装和自定义实例的过程,直到最后,Jenkins 就像一个魅力所在。

但是,我不能做的是重用我在自定义结束时生成的 AMI:由 BeansTalk 完成的运行状况检查没有看到 EC2 实例,尽管 Beanstalk 启动了它并且它工作正常。

为了理解我的问题,我将失败的过程简化为以下内容:

  • a) 我基于 Amazon 提供的示例创建了一个新的 BT 应用程序/环境(我拥有的唯一参数是 SSH 我的 EC2 实例的 key 对)
  • b) 当 EC2 实例启动时,我使用 EC2 来刷新 AMI
  • c) 我通过在 (b)
  • 中生成的 1 更改原始 AWS Ami (id: 100fff79 - Tomcat 6 64 bits) 来修改 BT env 配置
  • d) 当我更改 ami id
  • 时,BT 会重建
  • e) 重建会重新启动 EC2 实例。
  • f) 它开始正常(可以 ssh 到它)但健康检查失败,我的 env 变成红色状态。

  • 有人可以复制这个过程并告诉我我做错了什么吗?
    (我想使用 (b) 的 AMI 作为我的 Jenkins 自定义的起点。?

    我可以提供的其他信息:
    当 ssh-ing 到 EC2 实例时,https://forums.aws.amazon.com/thread.jspa?threadID=59027&tstart=25 底部描述的 apache、java、thin 和 bluepilld 的 grep 显示 4 个预期的进程消失了。因此,失败。

    请帮忙 !

    问候

    迪迪埃

    最佳答案

    将回答我自己的问题:为 Beanstalk 获取可工作的自定义 ami 的正确方法不是尝试刷新由 Beanstalk 启动的正在运行的实例,而是 启动 Beanstalk 的模板 ami(在我的情况下,Tomcat 6 64 位的 ami-100fff79 ) 从 EC2 控制台 并从那里自定义它,刷写它,你就完成了。

    然后,您可以通过将 ami 更改为新的 ami 来为您的 BT 环境“编辑配置”,并且它工作正常。

    问候
    迪迪埃

    关于amazon-ec2 - 无法从 Amazon Beanstalk 示例应用程序生成有效的自定义 EC2 AMI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5042000/

    10-12 16:03