如何使用内置 Java 应用层在 AWS OpsWorks 上部署 Jenkins?

Posted

技术标签:

【中文标题】如何使用内置 Java 应用层在 AWS OpsWorks 上部署 Jenkins?【英文标题】:How to deploy Jenkins on AWS OpsWorks using Built-in Java App Layer? 【发布时间】:2015-05-04 18:50:37 【问题描述】:

我正在尝试将我的 Jenkins 安装从自定义 AMI 迁移到 Opsworks 的 Java/Tomcat 层。我更喜欢他们设置的合理默认值,并且我希望使部署尽可能简单。

这是在 AWS Opsworks 上运行,使用 Amazon Linux 2014.09。

按照此处部署 *.war 的说明:http://docs.aws.amazon.com/opsworks/latest/userguide/layers-java-deploy.html

我创建了一个简单的 git 存储库,其中包含以下内容:

jenkins-opsworks
├── deploy
│   └── before_migrate.rb
└── jenkins.war

1 directory, 2 files

before_migrate.rb包含以下sn-p(AWS提供)

::Dir.glob(::File.join(release_path, '*.war')) do |archive_file|
  execute "unzip_#archive_file" do
    command "unzip #archive_file"
    cwd release_path
  end
end

我已将我的 Jenkins 应用程序配置为 Java 类型,指向我的 github 存储库,并且可以验证 Opsworks 确实部署并运行了 before_migrate.rb 挂钩,将战争文件提取到 /srv/www/jenkins/current/。此外,Catalina 似乎已经注册了 Jenkins 应用程序,但我在 http://domain/jenkins 上看不到任何内容。

知道我在这里做错了什么吗?再一次——我试图在不构建自定义层的情况下尽可能接近 Java 层,非常感谢约束。

【问题讨论】:

我正在尝试自己设置。我从该站点下载了最新的 .war,并且正在运行 OpenJDK 7 和 Tomcat 7。当我检查 domain/jenkins 和 domain 时,我可以看到 apache 访问日志显示 404。一切都是库存设置。您的before_migrate.rb 中是否还有其他我可能遗漏的内容? 【参考方案1】:

正如Jonathan Weiss (@jweiss) 所指出的,这实际上是开箱即用的,可以通过http://domain/jenkins/ 访问。我错过了结尾的斜杠。

【讨论】:

以上是关于如何使用内置 Java 应用层在 AWS OpsWorks 上部署 Jenkins?的主要内容,如果未能解决你的问题,请参考以下文章

OpsWorks基于负载的实例与自动扩展组?

适用于 iOS/Android 的 AWS 移动开发工具包中内置的网络安全性如何?

使用 AWS OpsWorks,我如何启动我的节点应用程序?

如何在 AWS Elastic Beanstalk 上强制使用 HTTPS

如何基于java应用内存扩展aws ec2集群

AWS Cognito 内置登录重定向问题