Просмотр исходного кода

feat: add script for build test env

tjq 2 лет назад
Родитель
Сommit
a9f81d260c

+ 19 - 0
others/dev/build_test_env.sh

@@ -0,0 +1,19 @@
+#!/bin/bash
+# 构建 PowerJob 测试环境
+
+echo "================== 关闭全部服务 =================="
+docker-compose down
+echo "================== 构建 jar =================="
+cd `dirname $0`/../.. || exit
+# mvn clean package -Pdev -DskipTests -U -e -pl powerjob-server,powerjob-worker-agent -am
+# -U:强制检查snapshot库 -pl:指定需要构建的模块,多模块逗号分割 -am:同时构建依赖模块,一般与pl连用 -Pxxx:指定使用的配置文件
+mvn clean package -Pdev -DskipTests
+echo "================== 拷贝 jar =================="
+/bin/cp -rf powerjob-server/powerjob-server-starter/target/*.jar powerjob-server/docker/powerjob-server.jar
+/bin/cp -rf powerjob-worker-agent/target/*.jar powerjob-worker-agent/powerjob-agent.jar
+ls -l powerjob-server/docker/powerjob-server.jar
+ls -l powerjob-worker-agent/powerjob-agent.jar
+
+cd others/dev
+docker-compose build
+docker-compose up

+ 74 - 0
others/dev/docker-compose.yml

@@ -0,0 +1,74 @@
+# 构建 PowerJob 测试环境
+
+version: '3'
+services:
+  powerjob-mysql:
+    build:
+      context: ../
+    environment:
+      MYSQL_ROOT_HOST: "%"
+      MYSQL_ROOT_PASSWORD: No1Bug2Please3!
+    restart: always
+    container_name: powerjob-mysql
+    image: powerjob/powerjob-mysql:test_env
+    ports:
+      - "3309:3306"
+    volumes:
+      - ./powerjob-data/powerjob-mysql:/var/lib/mysql
+    command: --lower_case_table_names=1
+
+  powerjob-server:
+    build:
+      context: ../../powerjob-server/docker
+    container_name: powerjob-server
+    image: powerjob/powerjob-server:test_env
+    restart: always
+    depends_on:
+      - powerjob-mysql
+    environment:
+      PARAMS: "--oms.mongodb.enable=false --spring.datasource.core.jdbc-url=jdbc:mysql://powerjob-mysql:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"
+    ports:
+      - "7700:7700"
+      - "10086:10086"
+      - "10010:10010"
+    volumes:
+      - ./powerjob-data/powerjob-server:/root/powerjob/server/
+
+  powerjob-worker-agent:
+    build:
+      context: ../../powerjob-worker-agent
+    container_name: powerjob-worker-agent
+    image: powerjob/powerjob-worker-agent:test_env
+    restart: always
+    depends_on:
+      - powerjob-mysql
+      - powerjob-server
+    ports:
+      - "5002:5005"
+      - "10002:10000"
+      - "27777:27777"
+    volumes:
+      - ./powerjob-data/powerjob-worker-agent:/root
+    entrypoint:
+      - "sh"
+      - "-c"
+      - "./wait-for-it.sh powerjob-server:7700 --strict -- java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10000 -Dcom.sun.management.jmxremote.rmi.port=10000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /powerjob-agent.jar --app powerjob-worker-samples --server powerjob-server:7700"
+
+  powerjob-worker-agent2:
+    container_name: powerjob-worker-agent2
+    image: powerjob/powerjob-worker-agent:test_env
+    restart: always
+    depends_on:
+      - powerjob-mysql
+      - powerjob-server
+    ports:
+      - "5003:5005"
+      - "10003:10000"
+      - "27778:27777"
+    volumes:
+      - ./powerjob-data/powerjob-worker-agent2:/root
+    entrypoint:
+      - "sh"
+      - "-c"
+      - "./wait-for-it.sh powerjob-server:7700 --strict -- java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10000 -Dcom.sun.management.jmxremote.rmi.port=10000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /powerjob-agent.jar --app powerjob-worker-samples --server powerjob-server:7700"
+

+ 1 - 1
powerjob-remote/powerjob-remote-impl-akka/src/main/java/tech/powerjob/remote/akka/AkkaCSInitializer.java

@@ -53,7 +53,7 @@ public class AkkaCSInitializer implements CSInitializer {
         Config akkaBasicConfig = ConfigFactory.load(AkkaConstant.AKKA_CONFIG);
         Config akkaFinalConfig = ConfigFactory.parseMap(overrideConfig).withFallback(akkaBasicConfig);
 
-        log.info("[PowerJob-AKKA] try to start AKKA System by config: {}", akkaFinalConfig);
+        log.info("[PowerJob-AKKA] try to start AKKA System.");
 
         // 启动时绑定当前的 actorSystemName
         String actorSystemName = AkkaConstant.fetchActorSystemName(config.getServerType());

+ 4 - 1
powerjob-worker-agent/Dockerfile

@@ -13,7 +13,10 @@ RUN apt-get update && \
     && apt-get clean \
     && apt-get autoclean \
     && rm -rf /var/lib/apt/lists/*
-
+# 安装 wait-for-it 脚本
+RUN curl -o wait-for-it.sh https://gitee.com/KFCFans/wait-for-it/raw/master/wait-for-it.sh
+RUN chmod +x wait-for-it.sh
+# 拷贝主文件
 COPY powerjob-agent.jar /powerjob-agent.jar
 # 暴露端口(AKKA-Client)
 EXPOSE 27777