feat: 添加 Jenkins 部署配置
- Jenkinsfile: GenericTrigger webhook 触发,构建镜像并部署 - docker-compose.yml: nginx 外部网络,shm_size 1g - 宿主机端口映射 3010:3000
This commit is contained in:
Vendored
+59
@@ -0,0 +1,59 @@
|
|||||||
|
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 -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
services:
|
||||||
|
app:
|
||||||
|
build: .
|
||||||
|
image: social-mcp:latest
|
||||||
|
container_name: social-mcp
|
||||||
|
ports:
|
||||||
|
- "3010:3000"
|
||||||
|
shm_size: '1gb'
|
||||||
|
volumes:
|
||||||
|
- /data/social-mcp:/home/appuser/.social-mcp
|
||||||
|
environment:
|
||||||
|
- NODE_ENV=production
|
||||||
|
- HOST=0.0.0.0
|
||||||
|
- PORT=3000
|
||||||
|
- HEADLESS=true
|
||||||
|
- COOKIE_DIR=/home/appuser/.social-mcp
|
||||||
|
- ALLOW_REMOTE=yes-i-understand-the-risk
|
||||||
|
restart: unless-stopped
|
||||||
|
networks:
|
||||||
|
- nginx
|
||||||
|
|
||||||
|
networks:
|
||||||
|
nginx:
|
||||||
|
external: true
|
||||||
Reference in New Issue
Block a user