rauwekost/release-bundle

此包已被 废弃 且不再维护。未建议替代包。

Symfony2 gitflow 发布自动化和部署包

安装: 473

依赖者: 0

建议者: 0

安全: 0

关注者: 1

开放问题: 2

类型:symfony-bundle

1.5.8 2014-07-15 12:19 UTC

This package is not auto-updated.

Last update: 2015-11-05 09:36:27 UTC


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