Você pode fazer o download da versão em PDF também.

Gitflow

Introdução

O Git Flow é uma modelo para gerenciamento de releases, que em seus benefícios estão a colaboração e o desenvolvimento paralelo, com a separação dos trabalhos em desenvolvimento e finalizados, utilizando branches. No modelo, são definidas duas branches principais: master e development, e três de apoio: Release, Feature e Hotfix.

Branches

  • Master -

  • Development -

  • Release -

  • Feature -

  • Bugfix -

  • Hotfix -

Referência

Parâmetros Gerais

Tabela 1. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

BUMP_MODE

O tipo de release que está sendo feito, seguindo as regras do Git Flow

(MAJOR | MINOR )

Git

O clone do repositório, na imagem será feito em /opt/source

Variável Descrição Valor Padrão

GIT_EMAIL

E-mail do usuário responsável pelo commit ( será o email do usuário configurado no gitconfig )

N/A

GIT_URL

URL do repositório

https://github.com/integr8/alpine-gitflow-helper

GIT_USER

Usuário utilizado para autencicação no repositório

N/A

GIT_PASS

Senha utilização para autenticação no repositório

N/A

Volume

Caso os procedimentos serão executados em um código já clonado, o root do repositório deverá ser referenciado como um volume em /opt/source

Exemplo: Utilização da imagem com volume
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source \ (1)
integr8/alpine-gitflow-helper
1 Referencia ao volume, sendo que a localização atual no host é na raiz do repositório do projeto.

Operações

Init

gitflow init
Figura 1. Representa a crição de duas branches master e development.
Tabela 2. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

Tabela 3. Parâmetros Opcionais
Variável Descrição Valor Padrão
Exemplo: EXEMPLO - Inicialização de um repositório com o Git Flow
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source  \
integr8/alpine-gitflow-helper init

Releases

Release Start

gitflow release start
Figura 2. Representa a criação da branch release/1.0.0. Esta branch será utilizada para agrupar todas as features deste ciclo de desenvolvimento.
Tabela 4. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

BUMP_MODE

O tipo de release que está sendo feito, seguindo as regras do Git Flow

(MAJOR | MINOR )

Tabela 5. Parâmetros Opcionais
Variável Descrição Valor Padrão
Exemplo: EXEMPLO - Inicialização de um repositório com o Git Flow
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source  \
integr8/alpine-gitflow-helper release start

Release Finish

gitflow release finish
Figura 3. Representa a criação da branch release/1.0.0. Esta branch será utilizada para agrupar todas as features deste ciclo de desenvolvimento.
Tabela 6. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

BUMP_MODE

O tipo de release que está sendo feito, seguindo as regras do Git Flow

(MAJOR | MINOR )

Tabela 7. Parâmetros Opcionais
Variável Descrição Valor Padrão
Exemplo: EXEMPLO - Inicialização de um repositório com o Git Flow
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source  \
integr8/alpine-gitflow-helper release start

Release Candidate

gitflow release finish
Figura 4. Representa a criação da branch release/1.0.0. Esta branch será utilizada para agrupar todas as features deste ciclo de desenvolvimento.
Tabela 8. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

BUMP_MODE

O tipo de release que está sendo feito, seguindo as regras do Git Flow

(MAJOR | MINOR )

Tabela 9. Parâmetros Opcionais
Variável Descrição Valor Padrão
Exemplo: EXEMPLO - Inicialização de um repositório com o Git Flow
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source  \
integr8/alpine-gitflow-helper release start

Features

Feature Start

gitflow feature start
Figura 5. Representa a criação da branch release/1.0.0. Esta branch será utilizada para agrupar todas as features deste ciclo de desenvolvimento.
Tabela 10. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

BUMP_MODE

O tipo de release que está sendo feito, seguindo as regras do Git Flow

(MAJOR | MINOR )

Tabela 11. Parâmetros Opcionais
Variável Descrição Valor Padrão
Exemplo: EXEMPLO - Inicialização de um repositório com o Git Flow
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source  \
integr8/alpine-gitflow-helper release start

Feature Finish

gitflow feature finish
Figura 6. Representa a criação da branch release/1.0.0. Esta branch será utilizada para agrupar todas as features deste ciclo de desenvolvimento.
Tabela 12. Parâmetros Obrigatórios
Variável Descrição Exemplo

SOURCE_METHOD

Origem do código fonte

GIT ou VOLUME

PROJECT_TYPE

O tipo de projeto que está sendo gerenciado )

(JAVA | NODE | PHP)

BUMP_MODE

O tipo de release que está sendo feito, seguindo as regras do Git Flow

(MAJOR | MINOR )

Tabela 13. Parâmetros Opcionais
Variável Descrição Valor Padrão
Exemplo: EXEMPLO - Inicialização de um repositório com o Git Flow
docker run --rm \
  -e 'SOURCE_METHOD=VOLUME' \
  -e 'PROJECT_TYPE=JAVA' \
  -v $(pwd)/source:/opt/source  \
integr8/alpine-gitflow-helper release start