Heroku Buildpack for Phoenix Static 项目教程
1. 项目的目录结构及介绍
Heroku Buildpack for Phoenix Static 项目的目录结构如下:
heroku-buildpack-phoenix-static/
├── bin/
│ ├── compile
│ ├── detect
│ └── release
├── lib/
│ ├── build.sh
│ └── utils.sh
├── README.md
└── phoenix_static_buildpack.config
目录结构介绍
- bin/: 包含用于 Heroku 构建过程的脚本文件。
compile
: 用于编译静态资源。detect
: 用于检测是否使用该构建包。release
: 用于发布应用。
- lib/: 包含构建过程中使用的辅助脚本。
build.sh
: 主要构建脚本。utils.sh
: 辅助工具脚本。
- README.md: 项目说明文档。
- phoenix_static_buildpack.config: 配置文件,用于自定义构建过程。
2. 项目的启动文件介绍
项目的启动文件主要位于 bin/
目录下:
- compile: 这个脚本负责编译 Phoenix 应用的静态资源。它会检查并安装所需的 Node.js 和 NPM 版本,然后运行
brunch build --production
和mix phx.digest
来生成静态文件。 - detect: 这个脚本用于检测当前项目是否是一个 Phoenix 应用,以便 Heroku 决定是否使用该构建包。
- release: 这个脚本用于设置应用的启动命令。默认情况下,它会运行
mix phx.server
。
3. 项目的配置文件介绍
项目的配置文件是 phoenix_static_buildpack.config
,它位于项目根目录下。这个文件用于自定义构建过程中的各种选项。
配置文件示例
# Clean out cache contents from previous deploys
clean_cache=false
# We can change the filename for the compile script with this option
compile="compile"
# We can set the version of Node to use for the app here
node_version=5.3.0
# We can set the version of NPM to use for the app here
npm_version=2.10.1
# We can set the version of Yarn to use for the app here
yarn_version=1.13.0
配置选项介绍
- clean_cache: 是否在每次部署前清理缓存。
- compile: 自定义编译脚本的文件名。
- node_version: 指定 Node.js 的版本。
- npm_version: 指定 NPM 的版本。
- yarn_version: 指定 Yarn 的版本。
通过修改这些配置选项,可以灵活地调整构建过程以满足不同项目的需求。