dersonsena/yii2-deploy

Módulo de deploy automático no formato de Modules do Yii Framework 2

Installs: 91

Dependents: 0

Suggesters: 0

Security: 0

Stars: 5

Watchers: 3

Forks: 1

Open Issues: 0

Type:yii2-extension

1.3.3 2017-08-09 12:09 UTC

This package is auto-updated.

Last update: 2024-10-26 13:56:08 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Yii2 Deploy

Módulo de deploy automático no formato de Modules do Yii Framework 2. Caso você queira, que para todo comando git push no seu ambiente de desenvolvimento local, automaticamente atualize o seu repositório remoto, basta seguir as instruções e passos abaixo.

Yii2

PRÉ-REQUISITOS

  • GIT instalando no seu servidor;
  • Função nativa do PHP shell_exec habilitada no seu servidor WEB;

INSTRUÇÕES PARA INSTALAÇÃO

A maneira recomendada para instalar esta extensão é através do composer.

Execute no seu terminal

$ php composer.phar require dersonsena/yii2-deploy "*"

ou adicione

"dersonsena/yii2-deploy": "*"

na seção require do seu arquivo composer.json.

PASSO 1 - REGISTRANDO MÓDULO

Registre o módulo no arquivo de configuração config/web.php conforme o trecho abaixo:

'modules' => [
    ...
    'deploy' => [
        'class' => 'dersonsena\deploy\DeployModule',
        'token' => '<INSIRA UM TOKEN AQUI>',
    ],
    ...
]

Você pode utilizar algumas soluções online para gerar seu token. Abaixo, alguns sites:

Você pode também gerar facilmente um token utilizando o componente yii\base\Security do Yii2 para gerar um token, como abaixo:

echo \Yii::$app->security->generateRandomString()

PASSO 2 - FAZENDO PRIMEIRO TESTE

Para efeitos de teste, acesse esta URL no seu navegador:

http://seudominio.com.br/deploy?t=SEU_TOKEN

O módulo deverá "devolver" uma tela com os comandos executados.

PASSO 3 - INTEGRAÇÃO

Caso tenha dado tudo certo no PASSO 2, siga os passos abaixo para integrar sua aplicação

3.1 INTEGRAÇÃO COM BITBUCKET

  1. Navegue até o endereço do seu repositório e vá na seção settings;
  2. Navegue até a seção Integrations >> Webhooks;
  3. Clique no botão Add Webhook;
  4. Informe um title de sua preferência;
  5. No campo URL insira: http://seudominio.com.br/deploy?t=SEU_TOKEN
  6. Clique no Botão Save.

EXTRAS

GERAÇÃO DE LOGS

O Yii2-Deploy a cada execução de comandos no servidor de Produção gera um arquivo .txt com o log da saída do terminal no diretório:

<APP_PATH>/runtime/deploy/20160626143800.txt

IMPORTANTE: só será feito a geração do LOG caso você não esteja no ambiente de Desenvolvimento YII_ENV_DEV.

ALTERANDO O BRANCH

Caso você queira que a instrução git pull utilize um outro branch, basta sobrescrever a propriedade branch no seu config/web.php, como abaixo:

'modules' => [
    ...
    'deploy' => [
        'class' => 'dersonsena\deploy\DeployModule',
        'token' => '<SEU TOKEN>',
        'branch' => 'meu-branch'
    ],
    ...
]

FORÇAR EXECUÇÃO DOS COMANDOS NO AMBIENTE DE DESENVOLVIMENTO

Por padrão, o módulo Yii2-Deploy não executa os comandos gerados no ambiente de desenvolvimento. Mas, caso você queira desabilitá-lo, basta sobrescrever a propriedade forceExecuteCommands no seu config/web.php, como abaixo:

'modules' => [
    ...
    'deploy' => [
        'class' => 'dersonsena\deploy\DeployModule',
        'token' => '<SEU TOKEN>',
        'forceExecuteCommands' => true
    ],
    ...
]

PARAMETRIZAÇÕES

'modules' => [
    ...
    'deploy' => [
        'class' => 'dersonsena\deploy\DeployModule',
        'token' => '<SEU TOKEN>',
        'enableComposer' => true // Padrão: true
        'gitBin' => '/usr/bin/git', // Caminho para o comando git do servidor (Padrão: /usr/bin/git)
        'phpBin' => '/usr/bin/php', // Caminho para o comando php do servidor (Padrão: /usr/bin/php)
        'composerBin' => '/usr/bin/composer' // Caminho para o comando composer do servidor (Padrão: /usr/bin/composer),
        'composerHome' => '/path/to/.composer' // Caminho para o COMPOSER_HOME (Padrão: null)
    ],
    ...
]