Files
social-mcp/Jenkinsfile
T

87 lines
3.0 KiB
Groovy

pipeline {
agent any
environment {
IMAGE_XHS = 'social-mcp-xhs'
IMAGE_XHH = 'social-mcp-xhh'
APP_XHS = 'mcp-xhs'
APP_XHH = 'mcp-xhh'
}
triggers {
GenericTrigger(token: 'social-mcp-deploy')
}
stages {
stage('Checkout') {
steps {
checkout scm
}
}
stage('Build Docker Images') {
steps {
sh "docker build --build-arg APP_NAME=xhs-mcp --build-arg HTTP_PROXY=http://172.17.0.1:7897 --build-arg HTTPS_PROXY=http://172.17.0.1:7897 -t ${IMAGE_XHS}:${BUILD_NUMBER} -t ${IMAGE_XHS}:latest ."
sh "docker build --build-arg APP_NAME=xhh-mcp --build-arg HTTP_PROXY=http://172.17.0.1:7897 --build-arg HTTPS_PROXY=http://172.17.0.1:7897 -t ${IMAGE_XHH}:${BUILD_NUMBER} -t ${IMAGE_XHH}:latest ."
}
}
stage('Deploy') {
steps {
sh """
docker stop ${APP_XHS} || true
docker rm ${APP_XHS} || true
docker stop ${APP_XHH} || true
docker rm ${APP_XHH} || true
mkdir -p /data/${APP_XHS}
mkdir -p /data/${APP_XHH}
chown 1001:1001 /data/${APP_XHS}
chown 1001:1001 /data/${APP_XHH}
docker run -d \
--name ${APP_XHS} \
--network nginx \
-p 9527:9527 \
--shm-size=1g \
-v /data/${APP_XHS}:/home/appuser/.social-mcp-xhs \
-e NODE_ENV=production \
-e HOST=0.0.0.0 \
-e PORT=9527 \
-e HEADLESS=true \
-e COOKIE_DIR=/home/appuser/.social-mcp-xhs \
-e APP_NAME=xhs-mcp \
-e ALLOW_REMOTE=yes-i-understand-the-risk \
--restart unless-stopped \
${IMAGE_XHS}:latest
docker run -d \
--name ${APP_XHH} \
--network nginx \
-p 9528:9528 \
--shm-size=1g \
-v /data/${APP_XHH}:/home/appuser/.social-mcp-xhh \
-e NODE_ENV=production \
-e HOST=0.0.0.0 \
-e PORT=9528 \
-e HEADLESS=true \
-e COOKIE_DIR=/home/appuser/.social-mcp-xhh \
-e APP_NAME=xhh-mcp \
-e ALLOW_REMOTE=yes-i-understand-the-risk \
--restart unless-stopped \
${IMAGE_XHH}:latest
"""
}
}
}
post {
success {
echo "Deployed ${APP_XHS} and ${APP_XHH} build #${BUILD_NUMBER} successfully"
}
failure {
echo "Build #${BUILD_NUMBER} failed"
}
}
}