xxl-job-2.0.2 只有一个admin用户,不能设置创建多个账号,v2.1.2版可以创建多个。
运行一个maven容器
docker-compose.yml如下:
1 2 3 4 5
| mvn: image: maven:3.5-jdk-8-alpine volumes: - ./data:/data command: ["tail", "-f", "/dev/null"]
|
或者
1 2 3
| docker run -d --name mvn3 maven:3.5-jdk-8-alpine tail -f /dev/null
docker cp data/xxl-job-2.1.2.tar.gz mvn3:/data/
|
进入容器编译
1 2 3 4 5 6 7 8
| docker exec -it mvn3 bash
cd /data/xxl-job-{版本号} mvn clean package
mkdir target mv xxl-job-admin/target/*.jar target/ mv xxl-job-executor-samples/xxl-job-executor-sample-springboot/target/*.jar target/
|
将其从容器中拷贝到宿主机目录下:
停止xxl-job,替换原相应的所有jar包并重新启动。
升级失败
替换jar包并重新启动,发现启动失败。经分析是版本之间 数据库 的设计发生较大变化。因未提供数据迁移功能,通过手动复制旧版本的所有任务到新版本重建任务,完成本次升级过程。
supervisord配置
执行器(作为客户端):
1 2 3 4 5 6 7 8 9
| [program:xxl-job-executor] command=java -jar /srv/xxl-job-executor-sample-springboot-2.1.2.jar --server.port=10080 --xxl.job.executor.ip=10.1.7.211 --xxl.job.executor.port=9999 --xxl.job.admin.addresses=https://job.keep.com/xxl-job-admin --xxl.job.executor.appname=xxl-job-executor-7-211 directory=/srv user=root startsecs=3 redirect_stderr=true stdout_logfile_maxbytes=50MB stdout_logfile_backups=3 stdout_logfile=/var/log/xxl-job-executor.log
|
调度服务(作为服务端):
1 2 3 4 5 6 7 8 9
| [program:xxl-job-admin_212] command=java -jar /srv/xxl-target-2.1.2/xxl-job-admin-2.1.2.jar --spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=mysql@dmin --server.port=8080 directory=/srv user=root startsecs=3 redirect_stderr=true stdout_logfile_maxbytes=50MB stdout_logfile_backups=3 stdout_logfile=/var/log/xxl-job-admin.log
|