switch to k8s agent, remove docker deploy placeholder
This commit is contained in:
57
platform/Jenkinsfile
vendored
57
platform/Jenkinsfile
vendored
@@ -1,5 +1,11 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent {
|
||||||
|
kubernetes {
|
||||||
|
cloud 'k3s-jenkins-agents'
|
||||||
|
label 'docker-agent'
|
||||||
|
defaultContainer 'docker-cli'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage('Checkout') {
|
stage('Checkout') {
|
||||||
@@ -34,61 +40,20 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Deploy to Server 1') {
|
stage('Deploy to Kubernetes [TODO - not implemented yet]') {
|
||||||
steps {
|
steps {
|
||||||
sh '''
|
echo '⚠️ K8s deploy stage not implemented yet — image built but not pushed to the cluster.'
|
||||||
docker stop management-platform 2>/dev/null || true
|
echo 'Image import + kubectl rollout still needs to be designed (RBAC + pod template + image transfer).'
|
||||||
docker rm management-platform 2>/dev/null || true
|
|
||||||
|
|
||||||
docker run -d \
|
|
||||||
--name management-platform \
|
|
||||||
--restart unless-stopped \
|
|
||||||
-p 8088:5000 \
|
|
||||||
-e HOSTNAME=vmi3024229 \
|
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
-v /root:/root \
|
|
||||||
-v /etc/passwd:/etc/passwd:ro \
|
|
||||||
-v /etc/shadow:/etc/shadow:ro \
|
|
||||||
-v /root/management-platform/config.py:/app/config.py:ro \
|
|
||||||
management-platform:latest
|
|
||||||
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
if docker ps | grep -q management-platform; then
|
|
||||||
echo "✅ Deployed successfully"
|
|
||||||
else
|
|
||||||
echo "❌ Container failed to start"
|
|
||||||
docker logs management-platform --tail=20
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
'''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('Health Check') {
|
|
||||||
steps {
|
|
||||||
sh '''
|
|
||||||
sleep 3
|
|
||||||
STATUS=$(docker exec management-platform curl -s -o /dev/null -w "%{http_code}" http://localhost:5000/)
|
|
||||||
if [ "$STATUS" = "200" ] || [ "$STATUS" = "302" ]; then
|
|
||||||
echo "✅ Platform responding (HTTP $STATUS)"
|
|
||||||
else
|
|
||||||
echo "❌ Health check failed — got HTTP $STATUS"
|
|
||||||
docker logs management-platform --tail=40 2>/dev/null || true
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
'''
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
post {
|
post {
|
||||||
success {
|
success {
|
||||||
echo '✅ Pipeline succeeded — platform deployed'
|
echo '✅ Pipeline succeeded — build + Sonar passed, k8s deploy pending'
|
||||||
}
|
}
|
||||||
failure {
|
failure {
|
||||||
echo '❌ Pipeline failed — check logs'
|
echo '❌ Pipeline failed — check logs'
|
||||||
sh 'docker logs management-platform --tail=30 2>/dev/null || true'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user