java-buildpack将在JVM上运行的应用包(zip,war,jar等),配置,组合成可运行的应用。
java-buildpack探测应用包的容器,JRE,框架等,并下载其依赖包,并配置其运行参数。
Java-buildpack对Java应用的支持情况
容器
tomcat
DistZip
Groovy
JavaMain
PlayFramework
Ratpack
SpringBoot
SpringBootCLI
JDK
OpenJdkJRE
OracleJRE
Frameworks
AppDynamicsAgent
JavaOpts
NewRelicAgent
PlayFrameworkAutoReconfiguration
PlayFrameworkJPAPlugin
PostgresqlJDBC
SpringAutoReconfiguration
SpringInsight
注意:
对这些组件都默认取最新版本,前端没有接口可以改变版本;
前端没有接口可以修改配置(如:修改http端口),运行时参数等,官方的建议是创建自定义的buildpack。
代码目录结构
java-buildpack是一个标准的ruby工程,用tree命令可以看到其目录结构如下:
(省略了部分文件)
java-buildpack
├── bin # buildpack主要的脚本
│ ├── compile
│ ├── detect
│ └── release
├── build # 制作离线包生成的目录
│ ├── java-buildpack-offline-1.0.zip
│ └── staging
├── config
│ ├── app_dynamics_agent.yml
│ ├── ...
│ └── tomcat.yml
├── CONTRIBUTING.md
├── coverage
│ ├── assets
│ └── index.html
├── docs
│ ├── buildpack-modes.md
│ ├── ...
│ └── security.md
├── Gemfile
├── Gemfile.lock
├── java-buildpack.iml
├── lib
│ ├── java_buildpack # 源代码目录
│ └── java_buildpack.rb
├── LICENSE
├── NOTICE
├── Rakefile
├── rakelib
│ ├── dependency_cache_task.rb
│ ├── package.rb
│ ├── package_task.rb
│ └── stage_buildpack_task.rb
├── README.md
├── resources
│ ├── new_relic_agent
│ ├── open_jdk_jre
│ ├── oracle_jre
│ └── tomcat
└── spec
├── application_helper.rb
├── ...
└── spec_helper.rb