64 lines
2.5 KiB
TypeScript
64 lines
2.5 KiB
TypeScript
import { execSync } from 'child_process';
|
|
|
|
const TOKEN = '53c0cc31a6cb27901dd29f1215d4ee5fe5064a19';
|
|
const DOMAIN = 'forgejo.seureview.com.br';
|
|
const USER = 'marciobever';
|
|
const REPO = 'festa-magica-ia';
|
|
|
|
async function deploy() {
|
|
try {
|
|
console.log(`Acessando API do Forgejo (${DOMAIN})...`);
|
|
const createRes = await fetch(`https://${DOMAIN}/api/v1/user/repos`, {
|
|
method: 'POST',
|
|
headers: {
|
|
'Authorization': `token ${TOKEN}`,
|
|
'Content-Type': 'application/json'
|
|
},
|
|
body: JSON.stringify({
|
|
name: REPO,
|
|
private: true,
|
|
description: 'Landing Page Festa Mágica IA (Gerada no AI Studio)'
|
|
})
|
|
});
|
|
|
|
if (!createRes.ok) {
|
|
const errorText = await createRes.text();
|
|
console.log(`Aviso ao criar repo (Provavelmente já existe): ${errorText}`);
|
|
} else {
|
|
console.log('✅ Repositório criado com sucesso.');
|
|
}
|
|
|
|
console.log('\nConfigurando Git local e preparando commit...');
|
|
try { execSync('rm -rf .git'); } catch(e){}
|
|
|
|
execSync('git init', { stdio: 'inherit' });
|
|
execSync('git config user.name "AI Studio Assistant"', { stdio: 'inherit' });
|
|
execSync('git config user.email "macrolojauk@gmail.com"', { stdio: 'inherit' });
|
|
|
|
execSync('git add .', { stdio: 'inherit' });
|
|
|
|
try {
|
|
execSync('git commit -m "Deploy automático da Landing Page"', { stdio: 'inherit' });
|
|
} catch (e) {
|
|
console.log('Nada para commitar.');
|
|
}
|
|
|
|
execSync('git branch -M main', { stdio: 'inherit' });
|
|
|
|
// Montamos a URL autenticada usando as credenciais providenciadas
|
|
const remoteUrl = `https://${USER}:${TOKEN}@${DOMAIN}/${USER}/${REPO}.git`;
|
|
execSync(`git remote add origin ${remoteUrl}`, { stdio: 'inherit' });
|
|
|
|
console.log('\nFazendo push do código (Forçando atualização no main)...');
|
|
execSync('git push -u origin main --force', { stdio: 'inherit' });
|
|
|
|
console.log(`\n🎉 Deploy concluído com sucesso!`);
|
|
console.log(`🔗 URL do Repositório: https://${DOMAIN}/${USER}/${REPO}`);
|
|
} catch (error: any) {
|
|
console.error('\n❌ Ocorreu um erro no script de deploy:', error.message);
|
|
if (error.stdout) console.error('STDOUT:', error.stdout.toString());
|
|
if (error.stderr) console.error('STDERR:', error.stderr.toString());
|
|
}
|
|
}
|
|
|
|
deploy();
|