diff --git a/oh-my-scheduler-client/src/test/java/TestWorkflow.java b/oh-my-scheduler-client/src/test/java/TestWorkflow.java index fb5811b4..7dd97b2a 100644 --- a/oh-my-scheduler-client/src/test/java/TestWorkflow.java +++ b/oh-my-scheduler-client/src/test/java/TestWorkflow.java @@ -29,8 +29,8 @@ public class TestWorkflow { // DAG 图 List nodes = Lists.newLinkedList(); - nodes.add(new PEWorkflowDAG.Node(1L, "node-1", null, false, null)); - nodes.add(new PEWorkflowDAG.Node(2L, "node-2", null, false, null)); + nodes.add(new PEWorkflowDAG.Node(1L, "node-1")); + nodes.add(new PEWorkflowDAG.Node(2L, "node-2")); PEWorkflowDAG peWorkflowDAG = new PEWorkflowDAG(nodes, null); SaveWorkflowRequest req = new SaveWorkflowRequest(); diff --git a/oh-my-scheduler-server/Dockerfile b/oh-my-scheduler-server/docker/Dockerfile similarity index 55% rename from oh-my-scheduler-server/Dockerfile rename to oh-my-scheduler-server/docker/Dockerfile index ed2b6c95..2da4893d 100644 --- a/oh-my-scheduler-server/Dockerfile +++ b/oh-my-scheduler-server/docker/Dockerfile @@ -2,7 +2,16 @@ FROM openjdk:8 # 维护者 MAINTAINER tengjiqi@gmail.com -# 设置环境变量 +# 下载并安装 maven +RUN curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz +RUN tar -zxvf apache-maven-3.6.3-bin.tar.gz && mv apache-maven-3.6.3 /opt/oms-maven +# 替换 maven 配置文件 +RUN rm -rf /opt/oms-maven/conf/settings.xml +COPY settings.xml /opt/oms-maven/conf/settings.xml +# 设置 maven 环境变量(maven invoker 读取该变量调用 maven) +ENV M2_HOME=/opt/oms-maven + +# 设置其他环境变量 ENV APP_NAME=oh-my-scheduler-server # 传递SpringBoot 启动参数 ENV PARAMS="" diff --git a/oh-my-scheduler-server/docker/settings.xml b/oh-my-scheduler-server/docker/settings.xml new file mode 100644 index 00000000..0fa6384b --- /dev/null +++ b/oh-my-scheduler-server/docker/settings.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/ContainerService.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/ContainerService.java index 082c24af..746baf0c 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/ContainerService.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/service/ContainerService.java @@ -351,9 +351,9 @@ public class ContainerService { }else { remote.sendText(String.format("SYSTEM: new version detected, from %s to %s.", oldVersion, container.getVersion())); } + remote.sendText("SYSTEM: git clone successfully, star to compile the project."); // mvn clean package -DskipTests -U - remote.sendText("SYSTEM: git clone successfully, star to compile the project."); Invoker mvnInvoker = new DefaultInvoker(); InvocationRequest ivkReq = new DefaultInvocationRequest(); // -U:强制让Maven检查所有SNAPSHOT依赖更新,确保集成基于最新的状态 diff --git a/others/script/build_docker.sh b/others/script/build_docker.sh index 7bd954a1..0f5d4bad 100755 --- a/others/script/build_docker.sh +++ b/others/script/build_docker.sh @@ -13,9 +13,9 @@ if [ "$needmvn" = "y" ] || [ "$needmvn" = "Y" ]; then echo "================== 构建 jar ==================" mvn clean package -DskipTests -Pdev -U -e echo "================== 拷贝 jar ==================" - /bin/cp -rf oh-my-scheduler-server/target/*.jar oh-my-scheduler-server/oms-server.jar + /bin/cp -rf oh-my-scheduler-server/target/*.jar oh-my-scheduler-server/docker/oms-server.jar /bin/cp -rf oh-my-scheduler-worker-agent/target/*.jar oh-my-scheduler-worker-agent/oms-agent.jar - ls -l oh-my-scheduler-server/oms-server.jar + ls -l oh-my-scheduler-server/docker/oms-server.jar ls -l oh-my-scheduler-worker-agent/oms-agent.jar fi @@ -33,7 +33,7 @@ if [ "$rebuild" = "y" ] || [ "$rebuild" = "Y" ]; then docker rmi -f tjqq/oms-server:$version docker rmi -f tjqq/oms-agent:$version echo "================== 构建 oms-server 镜像 ==================" - docker build -t tjqq/oms-server:$version oh-my-scheduler-server/. || exit + docker build -t tjqq/oms-server:$version oh-my-scheduler-server/docker/. || exit echo "================== 构建 oms-agent 镜像 ==================" docker build -t tjqq/oms-agent:$version oh-my-scheduler-worker-agent/. || exit @@ -59,7 +59,12 @@ if [ "$startup" = "y" ] || [ "$startup" = "Y" ]; then ## -v(--volume):挂载目录,宿主机目录:docker内目录,写入docker内路径的数据会被直接写到宿主机上,常用于日志文件 ## --net=host:容器和宿主机共享网络(容器直接使用宿主机IP,性能最好,但网络隔离较差) echo "================== 准备启动 oms-server ==================" - docker run -d -e PARAMS="--spring.profiles.active=pre" -p 7700:7700 -p 10086:10086 --name oms-server -v ~/docker/oms-server:/root/oms-server tjqq/oms-server:$version + docker run -d \ + --name oms-server \ + -p 7700:7700 -p 10086:10086 \ + -e PARAMS="--spring.profiles.active=pre" \ + -v ~/docker/oms-server:/root/oms-server -v ~/.m2:/root/.m2 \ + tjqq/oms-server:$version sleep 1 # tail -f -n 1000 ~/docker/oms-server/logs/oms-server-application.log diff --git a/others/script/jenkins_auto.sh b/others/script/jenkins_auto.sh index 803148bd..39df6776 100644 --- a/others/script/jenkins_auto.sh +++ b/others/script/jenkins_auto.sh @@ -3,9 +3,9 @@ cd `dirname $0`/../.. || exit echo "================== 构建 jar ==================" mvn clean package -DskipTests -Pdev -U -e echo "================== 拷贝 jar ==================" -/bin/cp -rf oh-my-scheduler-server/target/*.jar oh-my-scheduler-server/oms-server.jar +/bin/cp -rf oh-my-scheduler-server/target/*.jar oh-my-scheduler-server/docker/oms-server.jar /bin/cp -rf oh-my-scheduler-worker-agent/target/*.jar oh-my-scheduler-worker-agent/oms-agent.jar -ls -l oh-my-scheduler-server/oms-server.jar +ls -l oh-my-scheduler-server/docker/oms-server.jar ls -l oh-my-scheduler-worker-agent/oms-agent.jar echo "================== 关闭老应用 ==================" docker stop oms-server @@ -19,11 +19,16 @@ echo "================== 删除旧镜像 ==================" docker rmi -f tjqq/oms-server:latest docker rmi -f tjqq/oms-agent:latest echo "================== 构建 oms-server 镜像 ==================" -docker build -t tjqq/oms-server:latest oh-my-scheduler-server/. || exit +docker build -t tjqq/oms-server:latest oh-my-scheduler-server/docker/. || exit echo "================== 构建 oms-agent 镜像 ==================" docker build -t tjqq/oms-agent:latest oh-my-scheduler-worker-agent/. || exit echo "================== 准备启动 oms-server ==================" -docker run -d -e PARAMS="--spring.profiles.active=product" -p 7700:7700 -p 10086:10086 --name oms-server -v ~/docker/oms-server:/root/oms-server tjqq/oms-server:latest +docker run -d \ + --name oms-server \ + -p 7700:7700 -p 10086:10086 \ + -e PARAMS="--spring.profiles.active=product --spring.datasource.core.jdbc-url=jdbc:mysql://172.27.147.252:3306/oms-product?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8 --spring.data.mongodb.uri=mongodb://172.27.147.252:27017/oms-product" \ + -v ~/docker/oms-server:/root/oms-server -v ~/.m2:/root/.m2 \ + tjqq/oms-server:latest sleep 60 echo "================== 准备启动 oms-client ==================" serverIP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' oms-server)