feat: commit inicial da aplicacao com pipeline
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
const express = require('express');
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
|
||||
// ============================================================
|
||||
// Aplicação de demonstração CI/CD
|
||||
// Cada vez que você alterar este arquivo e fizer "git push",
|
||||
// o Jenkins vai automaticamente testar, construir e implantar.
|
||||
// ============================================================
|
||||
|
||||
// Rota principal — retorna informações da aplicação
|
||||
app.get('/', (req, res) => {
|
||||
res.json({
|
||||
app: 'CI/CD Demo',
|
||||
versao: '1.0.0',
|
||||
status: 'rodando',
|
||||
ambiente: process.env.NODE_ENV || 'development',
|
||||
timestamp: new Date().toISOString(),
|
||||
mensagem: 'Pipeline CI/CD funcionando! 🚀'
|
||||
});
|
||||
});
|
||||
|
||||
// Health check — usado para verificar se a aplicação está saudável
|
||||
// Em produção, load balancers e orquestradores usam este endpoint
|
||||
app.get('/health', (req, res) => {
|
||||
res.status(200).json({ status: 'healthy' });
|
||||
});
|
||||
|
||||
// Rota de informações do sistema
|
||||
app.get('/info', (req, res) => {
|
||||
res.json({
|
||||
node_version: process.version,
|
||||
platform: process.platform,
|
||||
uptime_seconds: Math.floor(process.uptime()),
|
||||
memory_mb: Math.round(process.memoryUsage().rss / 1024 / 1024)
|
||||
});
|
||||
});
|
||||
|
||||
// Inicia o servidor apenas se NÃO estiver em modo de teste.
|
||||
// Nos testes, o supertest cria seu próprio servidor temporário.
|
||||
if (process.env.NODE_ENV !== 'test') {
|
||||
app.listen(PORT, '0.0.0.0', () => {
|
||||
console.log(`✅ Servidor rodando em http://0.0.0.0:${PORT}`);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = app;
|
||||
Reference in New Issue
Block a user