Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2024-05-05 (4 months ago) | | Not enough user ratings | | Total: 34 | | All time: 11,016 This week: 36 |
|
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
May 2024
Number 2 |
Git is a version control system that can keep track of the changes done in the files of a project.
Git became more popular after the GitHub site started hosting projects using Git.
GitHub offers a Webhook service that can send requests to given URLs when a project is updated in a Git repository hosted by GitHub.
This package implements a Webhook handler script that updates site files when GitHub accesses a Webhook URL.
Manuel Lemos |
| |
|
|
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.