deploy.sh 1.3 KB

12345678910111213141516171819202122232425
  1. #!/bin/bash
  2. set -e
  3. cd /tmp/docker-build
  4. cp /opt/payment/app.jar ./app.jar
  5. cat > Dockerfile << 'ENDOFDOCKERFILE'
  6. FROM xjz/java-backend:1.0.0
  7. USER root
  8. RUN mkdir -p /app/logs && chown app:app /app/logs
  9. USER app
  10. COPY app.jar /app/app.jar
  11. ENDOFDOCKERFILE
  12. docker build --no-cache -t pay:latest .
  13. docker stop java-backend 2>/dev/null || true
  14. docker rm java-backend 2>/dev/null || true
  15. # profile 默认 prod。联调/测试机用 `SPRING_PROFILES_ACTIVE=test ./deploy.sh` 覆盖 ——
  16. # 乐收赢的启动闸只放行 dev/test/local,带着 application.yml 里的文档测试配置起 prod 会被它拒绝。
  17. docker run -d --name java-backend --network deploy_app-tier -p 8001:8001 \
  18. -e SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-prod} -e JAVA_OPTS="-Xms256m -Xmx512m" \
  19. -e SPRING_DATASOURCE_DRUID_URL=jdbc:postgresql://postgres:5432/payment_platform_java?currentSchema=public \
  20. -e SPRING_DATASOURCE_DRUID_USERNAME=admin -e SPRING_DATASOURCE_DRUID_PASSWORD=xjz#123321 \
  21. -e SPRING_DATA_REDIS_HOST=redis -e SPRING_DATA_REDIS_PORT=6379 \
  22. -e SPRING_DATA_REDIS_DATABASE=0 -e SPRING_DATA_REDIS_PASSWORD=123456#xjz \
  23. pay:latest
  24. sleep 30
  25. docker exec java-backend sh -c "unzip -p /app/app.jar BOOT-INF/classes/com/payment/platform/module/payment/facetoface/controller/FacetofaceController.class | grep -ao trade/precreate"