ehlxr 1 рік тому
батько
коміт
77d69738d6
3 змінених файлів з 93 додано та 0 видалено
  1. 10 0
      deploy/Dockerfile
  2. 76 0
      deploy/crawler-etl.sh
  3. 7 0
      deploy/sh/run.sh

+ 10 - 0
deploy/Dockerfile

@@ -0,0 +1,10 @@
+FROM registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/centos8-jdk8-ffmpeg:v0.0.2
+WORKDIR /home
+ARG PROFILES_ARG
+ENV ACTIVE_PROFILES=${PROFILES_ARG}
+ARG PORT_ARG=8080
+ENV SERVER_PORT=${PORT_ARG}
+ADD sh /home/sh
+ADD crawler-etl-server.jar crawler-etl-server.jar
+EXPOSE ${PORT_ARG}
+ENTRYPOINT ["/usr/bin/sh","/home/sh/run.sh"]

+ 76 - 0
deploy/crawler-etl.sh

@@ -0,0 +1,76 @@
+#/bin/bash
+svr_name=crawler-etl
+deploy() {
+    ips=($@)
+    for i in "${!ips[@]}"
+    do
+        if [ $i -gt 1 ]; then
+            ip=${ips[$i]}
+            echo $ip "发布中..."
+            scp /home/server-deploy/crawler-etl.sh $ip:/home/crawler-etl.sh
+            ssh $ip "bash /home/crawler-etl.sh restart $2"
+            echo $ip "发布完成!"
+        fi
+    done
+}
+
+start() {
+    CID=$(docker ps -a | grep $svr_name | awk '{print $1}')
+    if [ ! $CID ]; then
+        docker run -d --restart=always --name $svr_name -P registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1
+        echo "$svr_name 启动"
+    else
+        echo "$svr_name 容器已经存在"
+    fi
+}
+
+stop() {
+    CID=$(docker ps -a | grep $svr_name | awk '{print $1}')
+    if [ ! $CID ]; then
+        echo "$svr_name 没有运行"
+    else
+        echo "正在停止 $svr_name "
+        docker stop $CID
+        docker rm $CID
+    fi
+}
+
+update() {
+    CID=$(docker ps -a | grep $svr_name | awk '{print $1}')
+    IMAGE_ID=$(docker images | grep $svr_name | awk '{print $3}')
+
+    if [ ! $CID ]; then
+        echo "本地无镜像,直接pull"
+        docker pull registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1
+    else
+        echo "停止本地容器->删除本地镜像->pull镜像"
+        docker stop $CID
+        docker rm $CID
+        docker rmi $IMAGE_ID
+        docker pull registry-vpc.cn-hangzhou.aliyuncs.com/stuuudy/crawler-etl-server:$1
+    fi
+}
+
+case "$1" in
+'deploy')
+    deploy $@
+    ;;
+'start')
+    start $2
+    ;;
+'stop')
+    stop
+    ;;
+'restart')
+    stop
+    start $2
+    ;;
+'update')
+    update $2
+    start $2
+    ;;
+*)
+    echo"Usage: $0 {start|stop|restart|update}"
+    exit 1
+    ;;
+esac

+ 7 - 0
deploy/sh/run.sh

@@ -0,0 +1,7 @@
+#!/bin/bash
+source /etc/profile
+JAVA="${JAVA_HOME}/bin/java"
+ENV_OPT="--spring.profiles.active=${ACTIVE_PROFILES}"
+# JVM_OPT="-Xmx4G -Xms4G -Xmn2G -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSScavengeBeforeRemark -XX:CMSInitiatingOccupancyFraction=80 -Xloggc:/datalog/weblog/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime"
+JVM_OPT="-Xloggc:/datalog/weblog/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintHeapAtGC -XX:+PrintGCApplicationStoppedTime"
+${JAVA} ${JVM_OPT} -jar crawler-etl-server.jar ${ENV_OPT}