skrypty-kontrolne/Jenkinsfile

63 lines
2.4 KiB
Plaintext
Raw Normal View History

2024-09-01 07:56:05 +00:00
pipeline {
2024-09-01 08:00:53 +00:00
agent {
label 'agent1' // Określenie agenta o nazwie 'agent1'
}
2024-09-01 07:56:05 +00:00
environment {
EXPECTED_REGISTRY = 'https://registry.npmjs.org/'
}
stages {
stage('Pre-Build Check') {
steps {
script {
2024-09-01 08:19:07 +00:00
// Pobierz aktualne ustawienia rejestru npm
2024-09-01 07:56:05 +00:00
def registry = sh(script: 'npm config get registry', returnStdout: true).trim()
2024-09-01 08:19:07 +00:00
// Zapisz ustawiony rejestr do pliku logu
sh "echo 'Aktualnie ustawiony rejestr npm: ${registry}' > registry.log"
2024-09-01 07:56:05 +00:00
// Sprawdź, czy ustawione jest właściwe wewnętrzne repozytorium
if (registry != EXPECTED_REGISTRY) {
error("Błąd: Rejestr npm jest ustawiony na '${registry}', a powinien być '${EXPECTED_REGISTRY}'.")
} else {
echo "Rejestr npm jest poprawnie ustawiony na '${registry}'."
}
}
}
}
stage('Install Dependencies') {
steps {
2024-09-01 08:08:47 +00:00
echo "Installing dependencies..."
// Zainstaluj zależności npm
2024-09-01 08:19:07 +00:00
sh 'npm install >> registry.log 2>&1' // Dodanie do logu
2024-09-01 07:56:05 +00:00
}
}
stage('Build') {
steps {
// Zapisz logi builda do pliku
2024-09-01 08:19:07 +00:00
sh 'npm run build >> registry.log 2>&1' // Dodanie do logu
2024-09-01 07:56:05 +00:00
echo "Building..."
}
}
stage('Post-Build Check') {
steps {
script {
2024-09-01 08:19:07 +00:00
// Przeczytaj logi z połączonego pliku logów
def logs = readFile('registry.log')
2024-09-01 08:12:46 +00:00
// Wydrukuj logi dla debugowania (opcjonalnie)
echo "---- POCZĄTEK LOGÓW ----"
echo logs
echo "---- KONIEC LOGÓW ----"
// Sprawdź, czy logi zawierają niedozwolony adres URL
2024-09-01 07:56:05 +00:00
if (logs.contains('https://registry.npmjs.org')) {
2024-09-01 08:19:39 +00:00
error("Błąd: W logach builda wykryto dostęp do zewnętrznego repozytorium npm!")
} else {
echo "W logach builda nie wykryto żadnych nieautoryzowanych repozytoriów."
}
}
}
}
}
}