Add Jenkinsfile
This commit is contained in:
commit
547186dd37
53
Jenkinsfile
vendored
Normal file
53
Jenkinsfile
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
pipeline {
|
||||
agent any
|
||||
environment {
|
||||
// EXPECTED_REGISTRY = 'http://<artifactory-url>:<port>/artifactory/api/npm/<npm-repo-key>/'
|
||||
EXPECTED_REGISTRY = 'https://registry.npmjs.org/'
|
||||
}
|
||||
stages {
|
||||
stage('Pre-Build Check') {
|
||||
steps {
|
||||
script {
|
||||
// Pobierz aktualne ustawienia rejestru npm
|
||||
def registry = sh(script: 'npm config get registry', returnStdout: true).trim()
|
||||
|
||||
// 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 {
|
||||
// sh 'npm install'
|
||||
echo "Installing dependendencies..."
|
||||
}
|
||||
}
|
||||
stage('Build') {
|
||||
steps {
|
||||
// sh 'npm run build'
|
||||
// echo "Building..."
|
||||
|
||||
// Zapisz logi builda do pliku
|
||||
sh 'npm run build > build.log 2>&1'
|
||||
echo "Building..."
|
||||
}
|
||||
}
|
||||
stage('Post-Build Check') {
|
||||
steps {
|
||||
script {
|
||||
// Przeszukaj logi builda pod kątem podejrzanych URL-i
|
||||
def logs = currentBuild.rawBuild.getLog(1000).join('\n')
|
||||
if (logs.contains('https://registry.npmjs.org')) {
|
||||
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."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user