Files
it_school/project2/jenkinsfile
Ionel Andrei Cataon 2c67a10d4a pj2
2026-02-12 16:40:23 +02:00

50 lines
1.7 KiB
Plaintext

pipeline {
agent any
stages {
stage('Build & Run') {
steps {
script {
dir('project2') {
sh "docker build -t quotes-app ."
// 1. Rulăm containerul și îi dăm un nume pentru a putea copia din el
// Nu folosim -v aici pentru a evita eroarea "No such file"
sh "docker run --name temp-container --network host -e QUOTE_API_URL='https://api.quotable.io/random' quotes-app"
// 2. Copiem fișierul generat din container în workspace-ul Jenkins
sh "docker cp temp-container:/app/quote.txt ."
// 3. Ștergem containerul temporar
sh "docker rm temp-container"
}
}
}
}
}
post {
always {
script {
def discordUrl = "WEBHOOK_TAU_AICI"
def status = currentBuild.result ?: 'SUCCESS'
// Citim citatul (dacă există) sau punem un mesaj de eroare
def quoteText = ""
try {
quoteText = readFile('project2/quote.txt').trim()
} catch (e) {
quoteText = "Nu am putut citi citatul din fișier."
}
def payload = """
{
"content": "✅ **Build #${env.BUILD_NUMBER} Finalizat**\\n\\n${quoteText}"
}
"""
sh "curl -X POST -H 'Content-Type: application/json' -d '${payload}' '${discordUrl}'"
}
}
}
}