84 lines
2.2 KiB
Groovy
84 lines
2.2 KiB
Groovy
@Library('example-shared-lib@main') _
|
|
|
|
pipeline {
|
|
agent {
|
|
label "docker-agent-dsrv02"
|
|
}
|
|
|
|
environment {
|
|
DOCKER_REGISTRY = 'gitea.postio.pl'
|
|
IMAGE_NAME = 'public/oxdr-swagger-ui'
|
|
}
|
|
|
|
parameters {
|
|
string(name: 'BUILD_ID', defaultValue: 'latest', description: 'Image tag / build identifier')
|
|
}
|
|
|
|
stages {
|
|
stage('Checkout') {
|
|
steps {
|
|
git branch: 'main', credentialsId: 'postio-bot-gitea', url: 'https://gitea.postio.pl/public/microservice-repository.git'
|
|
}
|
|
}
|
|
|
|
stage('Generate Swagger Docs') {
|
|
agent {
|
|
docker {
|
|
image 'bufbuild/buf:latest'
|
|
args '--entrypoint='
|
|
reuseNode true
|
|
}
|
|
}
|
|
environment {
|
|
BUF_CACHE_DIR="${env.WORKSPACE}/.cache"
|
|
}
|
|
steps {
|
|
dir("${env.WORKSPACE}") {
|
|
echo "Generating Swagger documentation..."
|
|
sh "buf generate"
|
|
}
|
|
}
|
|
}
|
|
stage('Convert OpenAPI to v3') {
|
|
agent {
|
|
docker {
|
|
image 'python:3-bookworm'
|
|
reuseNode true
|
|
}
|
|
}
|
|
steps {
|
|
dir("${env.WORKSPACE}") {
|
|
echo "Converting OpenAPI V2 to V3..."
|
|
sh "python3 scripts/process_openapiv2.py"
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Build Docker Image') {
|
|
steps {
|
|
dockerBuild(
|
|
imageName: "${IMAGE_TAG}",
|
|
dockerfile: "deployments/docker/Dockerfile",
|
|
context: "deployments/docker"
|
|
)
|
|
}
|
|
}
|
|
|
|
stage('Push Docker Image') {
|
|
steps {
|
|
dockerPush(
|
|
imageName: "${IMAGE_TAG}",
|
|
registry: "${DOCKER_REGISTRY}",
|
|
credentialsId: "postio-bot-gitea"
|
|
)
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
failure {
|
|
echo "Build failed. Check the console output for details."
|
|
}
|
|
}
|
|
}
|