mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
feat: add docker-compose sample
This commit is contained in:
parent
ad1a7227d6
commit
5b865fe49b
17
.github/workflows/docker-image.yml
vendored
17
.github/workflows/docker-image.yml
vendored
@ -2,7 +2,9 @@ name: Docker Image CI
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ 4.1.1-docker-compose ]
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
@ -13,18 +15,25 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Build the Docker image
|
- name: Build the Docker image
|
||||||
run: mvn clean package -Pdev -DskipTests -U -e && /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
|
run: mvn clean package -Pdev -DskipTests -U -e && /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 && /bin/cp -rf powerjob-worker-samples/target/*.jar powerjob-worker-samples/powerjob-worker-samples.jar
|
||||||
- uses: docker/build-push-action@v1
|
- uses: docker/build-push-action@v1
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
repository: tjqq/powerjob-server
|
repository: tjqq/powerjob-server
|
||||||
tags: latest
|
tag_with_ref: true
|
||||||
path: powerjob-server/docker/
|
path: powerjob-server/docker/
|
||||||
- uses: docker/build-push-action@v1
|
- uses: docker/build-push-action@v1
|
||||||
with:
|
with:
|
||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
repository: tjqq/powerjob-agent
|
repository: tjqq/powerjob-agent
|
||||||
tags: latest
|
tag_with_ref: true
|
||||||
path: powerjob-worker-agent/
|
path: powerjob-worker-agent/
|
||||||
|
- uses: docker/build-push-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
repository: tjqq/powerjob-worker-samples
|
||||||
|
tag_with_ref: true
|
||||||
|
path: powerjob-worker-samples/
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -42,3 +42,4 @@ build/
|
|||||||
*/.phd
|
*/.phd
|
||||||
*/.txt
|
*/.txt
|
||||||
*/.trc
|
*/.trc
|
||||||
|
powerjob-data/
|
50
docker-compose.yml
Normal file
50
docker-compose.yml
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# 使用说明 V4.1.1
|
||||||
|
# 1. PowerJob 根目录执行:docker-compose up
|
||||||
|
# 2. 静静等待服务启动。刚开始启动时,powerjob-worker-samples会启动失败,等powerjob-server启动成功后,powerjob-worker-samples才会启动成功。
|
||||||
|
|
||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
powerjob-mysql:
|
||||||
|
build:
|
||||||
|
context: ./others
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_HOST: "%"
|
||||||
|
MYSQL_ROOT_PASSWORD: No1Bug2Please3!
|
||||||
|
restart: always
|
||||||
|
container_name: powerjob-mysql
|
||||||
|
image: powerjob/powerjob-mysql:4.1.1
|
||||||
|
ports:
|
||||||
|
- "3306:3306"
|
||||||
|
volumes:
|
||||||
|
- ./powerjob-data/powerjob-mysql:/var/lib/mysql
|
||||||
|
command: --lower_case_table_names=1
|
||||||
|
|
||||||
|
powerjob-server:
|
||||||
|
container_name: powerjob-server
|
||||||
|
image: tjqq/powerjob-server:latest
|
||||||
|
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:/powerjob/server/
|
||||||
|
|
||||||
|
powerjob-worker-samples:
|
||||||
|
container_name: powerjob-worker-samples
|
||||||
|
image: tjqq/powerjob-worker-samples:latest
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- powerjob-mysql
|
||||||
|
- powerjob-server
|
||||||
|
environment:
|
||||||
|
PARAMS: "--powerjob.worker.server-address=powerjob-server:7700"
|
||||||
|
ports:
|
||||||
|
- "8081:8081"
|
||||||
|
- "27777:27777"
|
||||||
|
volumes:
|
||||||
|
- ./powerjob-data/powerjob-worker-samples:/powerjob/worker
|
11
others/Dockerfile
Normal file
11
others/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
FROM mysql/mysql-server:8.0.30
|
||||||
|
|
||||||
|
MAINTAINER dudiao(idudaio@163.com)
|
||||||
|
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
|
||||||
|
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
|
COPY sql/01schema.sql /docker-entrypoint-initdb.d
|
||||||
|
|
||||||
|
COPY sql/02worker-samples.sql /docker-entrypoint-initdb.d
|
2
others/sql/01schema.sql
Normal file
2
others/sql/01schema.sql
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
-- powerjob
|
||||||
|
create database `powerjob-daily` default character set utf8mb4 collate utf8mb4_general_ci;
|
21
others/sql/02worker-samples.sql
Normal file
21
others/sql/02worker-samples.sql
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
USE powerjob-daily;
|
||||||
|
|
||||||
|
SET NAMES utf8mb4;
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
CREATE TABLE IF NOT EXISTS `app_info` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '应用ID',
|
||||||
|
`app_name` varchar(128) not NULL COMMENT '应用名称',
|
||||||
|
`current_server` varchar(255) default null COMMENT 'Server地址,用于负责调度应用的ActorSystem地址',
|
||||||
|
`gmt_create` datetime not null COMMENT '创建时间',
|
||||||
|
`gmt_modified` datetime not null COMMENT '更新时间',
|
||||||
|
`password` varchar(255) not null COMMENT '应用密码',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uidx01_app_info` (`app_name`)
|
||||||
|
) ENGINE = InnoDB AUTO_INCREMENT = 1
|
||||||
|
DEFAULT CHARSET = utf8mb4
|
||||||
|
COLLATE = utf8mb4_general_ci COMMENT ='应用表';
|
||||||
|
|
||||||
|
insert into app_info (app_name, gmt_create, gmt_modified, password) select 'powerjob-worker-samples', current_timestamp(), current_timestamp(), 'powerjob123' from dual where not exists ( select * from app_info where app_name = 'powerjob-worker-samples');
|
||||||
|
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
18
powerjob-worker-samples/Dockerfile
Normal file
18
powerjob-worker-samples/Dockerfile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# 基础镜像(支持 amd64 & arm64),based on Ubuntu 18.04.4 LTS
|
||||||
|
FROM adoptopenjdk:8-jdk-hotspot
|
||||||
|
# 维护者
|
||||||
|
MAINTAINER dudiao(idudiao@163.com)
|
||||||
|
# 设置时区
|
||||||
|
ENV TZ=Asia/Shanghai
|
||||||
|
|
||||||
|
# 设置其他环境变量
|
||||||
|
ENV APP_NAME=powerjob-worker-samples
|
||||||
|
# 传递 SpringBoot 启动参数 和 JVM参数
|
||||||
|
ENV PARAMS=""
|
||||||
|
ENV JVMOPTIONS=""
|
||||||
|
# 将应用 jar 包拷入 docker
|
||||||
|
COPY target/powerjob-worker-samples-*.jar /powerjob-worker-samples.jar
|
||||||
|
# 暴露端口(HTTP + AKKA)
|
||||||
|
EXPOSE 8081 27777
|
||||||
|
# 启动应用
|
||||||
|
ENTRYPOINT ["sh","-c","java $JVMOPTIONS -jar /powerjob-worker-samples.jar $PARAMS"]
|
@ -4,7 +4,7 @@ spring.jpa.open-in-view=false
|
|||||||
# Akka port, default is 27777
|
# Akka port, default is 27777
|
||||||
powerjob.worker.akka-port=27777
|
powerjob.worker.akka-port=27777
|
||||||
# Application name, used for grouping applications. Recommend to set the same value as project name.
|
# Application name, used for grouping applications. Recommend to set the same value as project name.
|
||||||
powerjob.worker.app-name=powerjob-agent-test
|
powerjob.worker.app-name=powerjob-worker-samples
|
||||||
# Address of PowerJob-server node(s). Ip:port or domain. Multiple addresses should be separated with comma.
|
# Address of PowerJob-server node(s). Ip:port or domain. Multiple addresses should be separated with comma.
|
||||||
powerjob.worker.server-address=127.0.0.1:7700,127.0.0.1:7701
|
powerjob.worker.server-address=127.0.0.1:7700,127.0.0.1:7701
|
||||||
# Store strategy of H2 database. disk or memory. Default value is disk.
|
# Store strategy of H2 database. disk or memory. Default value is disk.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user