Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2024-05-05 (2 days ago) | | Not yet rated by the users | | Total: 12 This week: 12 | | All time: 11,288 This week: 7 |
|
Description | | Author |
This package provides a Webhook handler to update projects from GitHub.
It provides a class that can take data sent by GitHub to a Webhook site address.
The class processes the data sent to the Webhook address and updates files in the site project folder from the Git repository that was updated on GitHub. | |
|
|
Innovation award
Nominee: 1x |
|
Example
<?php
declare(strict_types=1);
namespace App\Public;
$pathVendor = __DIR__.'/../../vendor/autoload.php';
$pathLoader = __DIR__.'/../Utils/loader.php';
if(!file_exists($pathLoader)){
die('Loader não encontrado.');
}
require_once $pathLoader;
if (!file_exists($pathVendor)) {
die('Execute o comando: composer install');
}
require_once $pathVendor;
use App\GitHub\GitHubHandler;
use App\Utils\Env;
use App\Utils\Logger;
use Exception;
$env = new Env();
$logger = new Logger();
try {
$githubHandler = new GithubHandler(
env: $env,
logger: $logger,
headers: $_SERVER,
dataPost: file_get_contents('php://input')
);
$githubHandler->execute();
echo $githubHandler->response;
exit;
}catch (Exception $erro){
$logger->log($erro->getMessage());
header('HTTP/1.1 500 Internal Server Error');
echo $erro->getMessage();
exit;
}
|
Details
Configuração do Webhook para Deploy Automatizado
Este repositório contém instruções e arquivos necessários para configurar um webhook que permite o deploy automatizado de projetos hospedados no GitHub.
Siga os passos abaixo para configurar o webhook em seu servidor.
Configurações Iniciais
Criação do arquivo .env
Na raiz do repositório, crie um arquivo chamado .env e insira o seguinte conteúdo:
SECRET_WEBHOOK_GITHUB=XXXXXXXXXXXX
PERSONAL_ACCESS_TOKEN_GITHUB=XXXXXXXXXXXXXXXXXX
USUARIO_GITHUB=XXXXX
DIRETORIO_DE_PROJETOS=/folder/my/projects
-
SECRET_WEBOOK_GITHUB: É a 'secret' que você configura no momento que cria o webhook no github. (Instruções)
-
PERSONAL_ACCESS_TOKEN_GITHUB: É o token de acesso pessoal que você pode gerar nas configurações da sua conta de desenvolvedor do GitHub. (Obter Token)
-
USUARIO_GITHUB: Seu nome de usuário do GitHub. Por exemplo, se o seu perfil é `https://github.com/minhaConta`, o valor seria `minhaConta`
-
DIRETORIO_DE_PROJETOS: Este é o diretório no servidor onde estão localizados os repositórios dos projetos. É a pasta principal que será usada para o deploy.
Configuração do Webhook
Configure o VirtualHost (Apache) ou a maneira como o domínio do projeto é apontado para a pasta ~/src/Public
.
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.