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:
|
||||
push:
|
||||
branches: [ master ]
|
||||
branches: [ 4.1.1-docker-compose ]
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
|
||||
@ -13,18 +15,25 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- 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
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
repository: tjqq/powerjob-server
|
||||
tags: latest
|
||||
tag_with_ref: true
|
||||
path: powerjob-server/docker/
|
||||
- uses: docker/build-push-action@v1
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
repository: tjqq/powerjob-agent
|
||||
tags: latest
|
||||
tag_with_ref: true
|
||||
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
|
||||
*/.txt
|
||||
*/.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
|
||||
powerjob.worker.akka-port=27777
|
||||
# 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.
|
||||
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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user