docs: adiciona instrucoes para repositorio privado
Some checks failed
CI/CD Web + Desktop / Detect changes (push) Successful in 5s
Quality Checks / Lint, Test and Build (push) Successful in 4m40s
CI/CD Web + Desktop / Deploy Convex functions (push) Has been skipped
CI/CD Web + Desktop / Deploy (VPS Linux) (push) Has been cancelled

Atualiza docs/SETUP.md e scripts/setup-dev.sh com:
- Instrucoes para configurar chave SSH
- Opcao de usar Personal Access Token (PAT)
- Comandos para clonar/configurar via SSH ou HTTPS
- Script setup-dev.sh agora aceita --ssh para repo privado

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
esdrasrenan 2025-12-16 23:18:31 -03:00
parent 9e385b664d
commit 9c258b43f1
2 changed files with 131 additions and 11 deletions

View file

@ -19,17 +19,62 @@ curl -fsSL https://bun.sh/install | bash
powershell -c "irm bun.sh/install.ps1 | iex"
```
## Configurar Autenticacao (Repositorio Privado)
Se o repositorio for privado, configure autenticacao SSH antes de clonar.
### Opcao 1: SSH Key (Recomendado)
```bash
# 1. Gerar chave SSH (se nao tiver)
ssh-keygen -t ed25519 -C "seu-email@exemplo.com"
# Pressione Enter para aceitar o local padrao
# Defina uma senha ou deixe em branco
# 2. Copiar a chave publica
# Linux/macOS/WSL:
cat ~/.ssh/id_ed25519.pub
# Windows (PowerShell):
Get-Content $env:USERPROFILE\.ssh\id_ed25519.pub
# Windows (CMD):
type %USERPROFILE%\.ssh\id_ed25519.pub
```
**Adicionar a chave nos servicos:**
- **GitHub:** Settings > SSH and GPG keys > New SSH key
- **Forgejo:** Settings > SSH / GPG Keys > Add Key
### Opcao 2: Personal Access Token (PAT)
1. **GitHub:** Settings > Developer settings > Personal access tokens > Tokens (classic)
2. Gerar token com permissao `repo`
3. Usar o token como senha quando o git pedir
Para salvar o token (nao precisar digitar toda vez):
```bash
git config --global credential.helper store
# Proximo push/pull vai pedir usuario e token, e salvar
```
## Setup Rapido
### 1. Clonar o repositorio
**Repositorio publico (HTTPS):**
```bash
git clone https://github.com/esdrasrenan/sistema-de-chamados.git
cd sistema-de-chamados
```
Ou se ja tiver o repositorio:
**Repositorio privado (SSH):**
```bash
git clone git@github.com:esdrasrenan/sistema-de-chamados.git
cd sistema-de-chamados
```
Ou se ja tiver o repositorio:
```bash
cd sistema-de-chamados
git pull origin main
@ -37,17 +82,28 @@ git pull origin main
### 2. Configurar remotes (para CI/CD)
**Repositorio publico (HTTPS):**
```bash
# Adicionar remote do Forgejo (dispara CI/CD)
git remote add forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git
```
# Verificar remotes
**Repositorio privado (SSH):**
```bash
# Mudar origin para SSH (se clonou via HTTPS)
git remote set-url origin git@github.com:esdrasrenan/sistema-de-chamados.git
# Adicionar forgejo via SSH (porta 2222)
git remote add forgejo ssh://git@git.esdrasrenan.com.br:2222/esdras/sistema-de-chamados.git
```
**Verificar remotes:**
```bash
git remote -v
# Deve mostrar:
# origin https://github.com/esdrasrenan/sistema-de-chamados.git (fetch)
# origin https://github.com/esdrasrenan/sistema-de-chamados.git (push)
# forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git (fetch)
# forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git (push)
# Deve mostrar (exemplo com SSH):
# origin git@github.com:esdrasrenan/sistema-de-chamados.git (fetch)
# origin git@github.com:esdrasrenan/sistema-de-chamados.git (push)
# forgejo ssh://git@git.esdrasrenan.com.br:2222/esdras/sistema-de-chamados.git (fetch)
# forgejo ssh://git@git.esdrasrenan.com.br:2222/esdras/sistema-de-chamados.git (push)
```
### 3. Instalar dependencias

View file

@ -1,9 +1,18 @@
#!/bin/bash
# Script de setup para ambiente de desenvolvimento
# Uso: ./scripts/setup-dev.sh
# Uso: ./scripts/setup-dev.sh [--ssh]
#
# Opcoes:
# --ssh Configurar remotes usando SSH (para repositorio privado)
set -e
# Verificar se deve usar SSH
USE_SSH=false
if [ "$1" = "--ssh" ]; then
USE_SSH=true
fi
echo "=== Setup do Ambiente de Desenvolvimento ==="
echo ""
@ -11,12 +20,14 @@ echo ""
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
# Funcao para printar status
ok() { echo -e "${GREEN}[OK]${NC} $1"; }
warn() { echo -e "${YELLOW}[AVISO]${NC} $1"; }
err() { echo -e "${RED}[ERRO]${NC} $1"; }
info() { echo -e "${CYAN}[INFO]${NC} $1"; }
# 1. Verificar pre-requisitos
echo "1. Verificando pre-requisitos..."
@ -46,6 +57,31 @@ else
exit 1
fi
# Verificar SSH key (se usando SSH)
if [ "$USE_SSH" = true ]; then
echo ""
echo "1.1. Verificando chave SSH..."
if [ -f "$HOME/.ssh/id_ed25519.pub" ] || [ -f "$HOME/.ssh/id_rsa.pub" ]; then
ok "Chave SSH encontrada"
echo " Certifique-se de que a chave esta adicionada no GitHub e Forgejo"
else
warn "Chave SSH nao encontrada!"
echo ""
echo " Para criar uma chave SSH:"
echo " ssh-keygen -t ed25519 -C \"seu-email@exemplo.com\""
echo ""
echo " Depois adicione a chave publica em:"
echo " - GitHub: Settings > SSH and GPG keys > New SSH key"
echo " - Forgejo: Settings > SSH / GPG Keys > Add Key"
echo ""
read -p " Deseja continuar mesmo assim? (s/N) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Ss]$ ]]; then
exit 1
fi
fi
fi
echo ""
# 2. Configurar remotes do Git
@ -57,11 +93,39 @@ if [ ! -d ".git" ]; then
exit 1
fi
# URLs dos remotes
if [ "$USE_SSH" = true ]; then
ORIGIN_URL="git@github.com:esdrasrenan/sistema-de-chamados.git"
FORGEJO_URL="ssh://git@git.esdrasrenan.com.br:2222/esdras/sistema-de-chamados.git"
info "Usando SSH para os remotes (repositorio privado)"
else
ORIGIN_URL="https://github.com/esdrasrenan/sistema-de-chamados.git"
FORGEJO_URL="https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git"
info "Usando HTTPS para os remotes (repositorio publico)"
fi
# Configurar/atualizar origin
CURRENT_ORIGIN=$(git remote get-url origin 2>/dev/null || echo "")
if [ "$CURRENT_ORIGIN" != "$ORIGIN_URL" ]; then
if [ -n "$CURRENT_ORIGIN" ]; then
git remote set-url origin "$ORIGIN_URL"
ok "Remote 'origin' atualizado para $ORIGIN_URL"
fi
else
ok "Remote 'origin' ja configurado corretamente"
fi
# Verificar/adicionar remote forgejo
if git remote get-url forgejo &> /dev/null; then
ok "Remote 'forgejo' ja configurado"
CURRENT_FORGEJO=$(git remote get-url forgejo)
if [ "$CURRENT_FORGEJO" != "$FORGEJO_URL" ]; then
git remote set-url forgejo "$FORGEJO_URL"
ok "Remote 'forgejo' atualizado para $FORGEJO_URL"
else
ok "Remote 'forgejo' ja configurado corretamente"
fi
else
git remote add forgejo https://git.esdrasrenan.com.br/esdras/sistema-de-chamados.git
git remote add forgejo "$FORGEJO_URL"
ok "Remote 'forgejo' adicionado"
fi