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}'" } } } }