This commit is contained in:
parent
791ee7a98d
commit
9ef51b695a
60
.drone.yml
60
.drone.yml
@ -1,60 +1,44 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: myProject
|
||||
name: mypubdemo
|
||||
|
||||
steps:
|
||||
# 1.maven打包
|
||||
- name: maven compile
|
||||
pull: if-not-exists
|
||||
# 构建镜像的maven+jdk选择,最好选择满足匹配你的项目版本的
|
||||
image: matderosa/maven-3.8-openjdk-17-gcc8.5
|
||||
volumes:
|
||||
# maven构建缓存
|
||||
- name: build-jar # 流水线名称
|
||||
image: maven:3.8.5-openjdk-8 # 定义创建容器的Docker镜像
|
||||
volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
|
||||
- name: maven-cache
|
||||
path: /root/.m2
|
||||
# 挂载宿主机的目录
|
||||
path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
|
||||
- name: maven-build
|
||||
path: /thirdPlatform/build
|
||||
commands:
|
||||
# 开始打包maven工程
|
||||
- mvn clean package -Dmaven.test.skip=true
|
||||
# 将打包后的文件复制到宿主机映射目录
|
||||
- cp target/*.jar /thirdPlatform/build
|
||||
- cp Dockerfile /thirdPlatform/build
|
||||
- cp docker.sh /thirdPlatform/build
|
||||
- cp start.sh /thirdPlatform/build
|
||||
path: /app/build # 将应用打包好的Jar和执行脚本挂载出来
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- mvn clean package -DskipTests=true # 应用打包命
|
||||
- cp target/mypubdemo-0.0.1-SNAPSHOT.jar /app/build/mypubdemo-0.0.1.jar
|
||||
- cp entrypoint.sh /app/build/
|
||||
- cp Dockerfile /app/build/
|
||||
- cp run.sh /app/build/
|
||||
|
||||
- name: build docker
|
||||
- name: build-docker
|
||||
image: plugins/docker
|
||||
volumes:
|
||||
# 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
|
||||
volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
|
||||
- name: maven-build
|
||||
path: /thirdPlatform/build # 将应用打包好的Jar和执行脚本挂载出来
|
||||
path: /app/build # 将应用打包好的Jar和执行脚本挂载出来
|
||||
- name: docker
|
||||
path: /var/run/docker.sock # 挂载宿主机的docker
|
||||
settings:
|
||||
dockerfile: /thirdPlatform/build/Dockerfile
|
||||
commands:
|
||||
# 定义在Docker容器中执行的shell命令
|
||||
- cd /thirdPlatform/build
|
||||
- chmod +x docker.sh
|
||||
- sh docker.sh
|
||||
dockerfile: /app/build/Dockerfile
|
||||
commands: # 定义在Docker容器中执行的shell命令
|
||||
- cd /app/build
|
||||
- chmod +x run.sh
|
||||
- sh run.sh
|
||||
- docker ps
|
||||
|
||||
|
||||
volumes: # 定义流水线挂载目录,用于共享数据
|
||||
- name: maven-build
|
||||
host:
|
||||
path: /home/projects/thirdPlatform/maven/build # 从宿主机中挂载的目录
|
||||
path: /home/data/maven/build # 从宿主机中挂载的目录
|
||||
- name: maven-cache
|
||||
host:
|
||||
path: /home/projects/thirdPlatform/maven/cache
|
||||
path: /home/data/maven/cache
|
||||
- name: docker
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
|
||||
# drone执行触发器
|
||||
trigger:
|
||||
branch:
|
||||
- master
|
||||
|
16
Dockerfile
16
Dockerfile
@ -1,16 +0,0 @@
|
||||
#指定了基础镜像为 khipu/openjdk17-alpine,即使用了 OpenJDK 17 的 Alpine 版本作为基础
|
||||
FROM khipu/openjdk17-alpine
|
||||
#设置了一个名为 SERVIECE_PORT 的环境变量,并将其值设为 9090
|
||||
ENV SERVIECE_PORT = 9090
|
||||
# 容器里 新建目录 thirdPlatform
|
||||
RUN mkdir -p /thirdPlatform/
|
||||
# 工作区
|
||||
WORKDIR /thirdPlatform
|
||||
# 复制操作
|
||||
COPY ./start.sh /thirdPlatform/
|
||||
#将宿主机当前目录下的 *.jar 文件复制到容器的 /third_platform_admin/ 目录下
|
||||
COPY ./*.jar /thirdPlatform/
|
||||
#对 /thirdPlatform/ 目录及其子目录下的所有文件赋予可执行权限
|
||||
RUN chmod 755 -R /thirdPlatform/
|
||||
#设置容器的入口点为 /third_platform_admin/start.sh,即在容器启动时执行该脚本
|
||||
ENTRYPOINT ["/thirdPlatform/start.sh"]
|
@ -1,8 +1,8 @@
|
||||
#!/bin/sh
|
||||
# 定义应用组名
|
||||
group_name='karl'
|
||||
# 定义应用名称 ,这里的name是获取你仓库的名称,也可以自己写
|
||||
app_name=${DRONE_REPO_NAME}
|
||||
group_name='demo'
|
||||
# 定义应用名称
|
||||
app_name='mypubdemo'
|
||||
# 定义应用版本
|
||||
app_version='latest'
|
||||
echo '----copy jar----'
|
||||
@ -15,7 +15,7 @@ echo '----rm image----'
|
||||
# 打包编译docker镜像
|
||||
docker build -t ${group_name}/${app_name}:${app_version} .
|
||||
echo '----build image----'
|
||||
docker run -p 9090:9090 --name ${app_name} \
|
||||
docker run -p 8080:80 --name ${app_name} \
|
||||
-e TZ="Asia/Shanghai" \
|
||||
-v /etc/localtime:/etc/localtime \
|
||||
-d ${group_name}/${app_name}:${app_version}
|
Loading…
Reference in New Issue
Block a user