rauwekost / release-bundle
此包已被 废弃 且不再维护。未建议替代包。
Symfony2 gitflow 发布自动化和部署包
1.5.8
2014-07-15 12:19 UTC
Requires
- php: >=5.3.2
README
Symfony gitflow 自动化和部署包
此包允许使用 git flow 和简单配置进行发布/热修复的简单自动化。
安装
添加到 composer.json
"rauwekost/release-bundle": "dev-master"
更新内核
public function registerBundles()
{
$bundles = array(
// ...,
new Rauwekost\ReleaseBundle\RauwekostReleaseBundle(),
);
// ...
}
准备好了!
所需文件
该包期望某些文件存在。
在应用根目录中version.yml
app/confing/deploy.yml
app/config/release.yml
在仓库中有示例 dist 文件,将其复制到正确的位置。
version.yml
此文件将自动从命令中增加。
{ prefix: v, major: '0', minor: '1', bugfix: '0' }
app/config/release.yml
定义您的开发和生产分支名称(与 git flow 相同)
branches:
development: 'develop'
production: 'master'
app/config/deploy.yml
默认配置需要覆盖,您可以根据需要添加更多。
# Default is required
default:
application_name: "Your application name"
release_before: true #run the release command before the deployment
local:
temp_dir: "/tmp"
parameters_file: "app/config/parameters.yml"
svn:
repository: "git@github.com:..."
branch: "master"
remote:
host: "servername"
key: ~
temp_dir: "/tmp"
dest_dir: "/remote_application_dir"
# Overides
dev:
release_before: false
test:
release_before: true
prod:
release_before: true
用法
该包将为 app/console
添加 2 个命令
- application:release [--hotfix]
- application:deploy [--hotfix] env
application:release
此命令将根据 version.yml
创建新的发布版本,并要求您输入新的(更高的)版本号。然后它将执行所有必要的任务来完成该发布。可以添加 --hotfix
以创建并完成新的热修复,而不是正常的发布。
application:deploy
此命令将给定的 git 仓库打包成 tarball,并将其复制到远程主机并在正确的目标文件夹中解包。配置选项:release_before 允许您在部署前强制发布。您可以添加多个环境并覆盖配置中的每个变量
示例用法
app/console application:deploy prod
app/console application:deploy dev
app/console application:release
app/console application:release --hotfix
app/console application:deploy --hotfix prod