Add static crossword site with nginx image and k8s manifests
- site/index.html: Russian literature crossword page - Dockerfile + nginx conf serving on 8080 with /healthz - k8s Deployment + NodePort Service (31380) in plpark-int-ns - Jenkinsfile: build/push to gitea registry, apply to rancher Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Vendored
+68
@@ -0,0 +1,68 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
REGISTRY = 'gitea.plpark.ectech.co.kr'
|
||||
IMAGE_NAME = "${REGISTRY}/plpark/crossword"
|
||||
IMAGE_TAG = "${env.BUILD_NUMBER}"
|
||||
NAMESPACE = 'plpark-int-ns'
|
||||
}
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '20'))
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Checkout') {
|
||||
steps {
|
||||
git branch: 'main',
|
||||
url: 'https://gitea.plpark.ectech.co.kr/plpark/crossword.git',
|
||||
credentialsId: 'gitea-registry'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build & Push Image') {
|
||||
steps {
|
||||
withEnv(["PATH+DOCKER=/dockerbin"]) {
|
||||
withCredentials([usernamePassword(
|
||||
credentialsId: 'gitea-registry',
|
||||
usernameVariable: 'REG_USER',
|
||||
passwordVariable: 'REG_PASS')]) {
|
||||
sh '''
|
||||
set -e
|
||||
echo "$REG_PASS" | docker login "$REGISTRY" -u "$REG_USER" --password-stdin
|
||||
docker build -t "$IMAGE_NAME:$IMAGE_TAG" -t "$IMAGE_NAME:latest" .
|
||||
docker push "$IMAGE_NAME:$IMAGE_TAG"
|
||||
docker push "$IMAGE_NAME:latest"
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Deploy to Rancher') {
|
||||
steps {
|
||||
withEnv(["PATH+DOCKER=/dockerbin"]) {
|
||||
withCredentials([file(credentialsId: 'rancher-kubeconfig', variable: 'KUBECONFIG_FILE')]) {
|
||||
sh '''
|
||||
set -e
|
||||
export KUBECONFIG="$KUBECONFIG_FILE"
|
||||
sed "s|__IMAGE__|$IMAGE_NAME:$IMAGE_TAG|g" k8s/deployment.yaml > /tmp/crossword-deploy.yaml
|
||||
kubectl apply -f /tmp/crossword-deploy.yaml
|
||||
kubectl -n "$NAMESPACE" rollout status deployment/crossword --timeout=180s
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
success {
|
||||
echo "Deployed ${IMAGE_NAME}:${IMAGE_TAG} -> http://192.168.0.216:31380 (https://crossword.plpark.ectech.co.kr)"
|
||||
}
|
||||
always {
|
||||
sh 'rm -f /tmp/crossword-deploy.yaml || true'
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user