initial
This commit is contained in:
Vendored
+72
@@ -0,0 +1,72 @@
|
||||
pipeline {
|
||||
agent {
|
||||
docker {
|
||||
image 'node:22-alpine'
|
||||
// Mount the host Docker socket so docker compose works inside the container
|
||||
args '-u root -v /var/run/docker.sock:/var/run/docker.sock'
|
||||
}
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('Install') {
|
||||
steps {
|
||||
withCredentials([string(credentialsId: 'gitea-pat', variable: 'GITEA_PAT')]) {
|
||||
sh '''
|
||||
apk add --no-cache docker-cli docker-cli-compose
|
||||
npm config set @davinti:registry https://git.davinti.com.br/api/packages/davinTI/npm/
|
||||
npm config set //git.davinti.com.br/api/packages/davinTI/npm/:_authToken ${GITEA_PAT}
|
||||
npm ci
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Test') {
|
||||
steps {
|
||||
sh 'npm test -- --passWithNoTests'
|
||||
}
|
||||
}
|
||||
|
||||
stage('E2E') {
|
||||
steps {
|
||||
withCredentials([
|
||||
usernamePassword(credentialsId: 'gitea-docker-creds', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')
|
||||
]) {
|
||||
sh '''
|
||||
echo "$DOCKER_PASS" | docker login git.davinti.com.br -u "$DOCKER_USER" --password-stdin
|
||||
docker compose -f tests/docker-compose.test.yml up -d
|
||||
for i in $(seq 1 36); do
|
||||
wget -q -O /dev/null http://localhost:18080/rest/public/test && break
|
||||
echo "Aguardando Vitruvio... ($i/36)"
|
||||
sleep 5
|
||||
done
|
||||
npm run test:e2e
|
||||
'''
|
||||
}
|
||||
}
|
||||
post {
|
||||
always {
|
||||
sh 'docker compose -f tests/docker-compose.test.yml down -v || true'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
always {
|
||||
cleanWs()
|
||||
}
|
||||
success {
|
||||
echo 'Sucesso ✅'
|
||||
}
|
||||
failure {
|
||||
echo 'Build failed.'
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user