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