knowledge-base/records/plugin-dev/KB-PLUGIN-011-mindplace-release-zip-procedure.md

77 lines
2.6 KiB
Markdown

---
id: KB-PLUGIN-011
title: "Procedimento de Release do Plugin Mindplace (LEGADO — GitHub)"
domain: plugin-dev
tags:
- github
- release
- secrets
- deprecated
status: deprecated
severity: medium
created_at: 2024-05-10
updated_at: 2026-05-21
applies_to:
- Plugin Mindplace (versão pré-Forgejo)
supersedes: KB-PLUGIN-013
---
> **⚠️ DEPRECATED** — O procedimento aqui descrito refere-se à fase em que o Mindplace usava o GitHub como backend de releases. Desde 2026-05, o backend é o **Forgejo da Mindtek** (`servicedesk.mindtek.com.br/git`) e o fluxo de release é automatizado pelo script `bin/mindplace-release.sh`.
>
> Para o procedimento atual, ver **[KB-PLUGIN-013](KB-PLUGIN-013-mindplace-plugin-publication-runbook.md)**.
# KB-PLUGIN-011 — Procedimento de Release do Plugin Mindplace (legado)
## Contexto
O plugin Mindplace usa um GitHub PAT (`secrets.php`) para autenticar chamadas à API do GitHub e aumentar o rate limit de 60 para 5.000 req/hora. Esse arquivo é **gitignored** — nunca entra no repositório público — mas precisa estar presente no ZIP distribuído aos clientes.
O ZIP gerado automaticamente pelo GitHub (Source code) **não inclui** arquivos gitignored. Por isso o ZIP de release deve ser criado manualmente.
## Arquivos sensíveis
| Arquivo | Git | ZIP cliente |
|---|---|---|
| `config/secrets.php` | gitignored ✗ | incluído ✓ |
| `config/secrets.php.example` | commitado ✓ | excluído ✗ |
## Procedimento para gerar o ZIP de release
```bash
cd docker/glpi/plugins/mindplace
zip -r mindplace-1.0.0.zip . \
--exclude "*.git*" \
--exclude "config/secrets.php.example"
```
Substitua `1.0.0` pela versão da release.
## Upload no GitHub
1. Acesse o repositório `rodolphoolopes/mindplace` no GitHub
2. Releases → Draft a new release
3. Crie a tag da versão (ex: `v1.0.0`)
4. Em **Assets**, faça upload do `mindplace-1.0.0.zip` gerado acima
5. **Não usar** o ZIP automático "Source code" gerado pelo GitHub
## Estrutura do secrets.php
```php
<?php
define('MINDPLACE_GITHUB_PAT', 'github_pat_...');
```
O PAT deve ter permissões:
- Repositório: `rodolphoolopes/mindplace`
- Contents: Read-only
- Metadata: Read-only (obrigatório pelo GitHub)
## Como o código lê o PAT
`PluginConfig::getGithubPat()` faz `include_once` do `secrets.php` se ele existir. Se o arquivo não existir, retorna string vazia e o plugin funciona sem autenticação (rate limit de 60 req/hora).
## Atenção
- Nunca commitar `secrets.php` — o GitHub faz varredura automática em repos públicos e **revoga o token imediatamente** se detectar
- Ao renovar o PAT, atualizar o `secrets.php` local e regerar o ZIP de todas as versões ativas