Browse Source

feat: 提交构建脚本

master
niushuai233 2 years ago
parent
commit
b8dcf7b654
  1. 68
      .drone.yml
  2. 11
      Dockerfile
  3. 18
      deploy.sh

68
.drone.yml

@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
kind: pipeline
type: docker
name: drone-dev-db-bastion-server
# 触发器
trigger:
# 触发分支
branch:
- master
# 触发事件
event:
- push
# 事件状态
status:
- success
# 共享目录
volumes:
- name: maven-cache
host:
path: /data/drone/m2/cache
- name: maven-build
host:
path: /data/drone/m2/build
- name: docker-sock
host:
path: /var/run/docker.sock
# ci 步骤
steps:
# 打包jar
- name: maven-package
image: maven:3.6.3-jdk-8
volumes:
- name: maven-cache
path: /root/.m2
- name: maven-build
path: /app/build
commands:
- echo 'maven package start'
# 打包
- mvn clean package -Dmaven.test.skip=true
# 拷贝打包结果到宿主机
- mkdir -p /app/build/db-bastion-server
- cp target/db-bastion-server.jar /app/build/db-bastion-server/db-bastion-server.jar
# 构建镜像
- name: build-image
image: docker:dind
volumes:
- name: docker-sock
path: /var/run/docker.sock
commands:
- echo 'build image start'
# 构建新镜像
- docker build -t niushuai233/db-bastion-server:latest .
# 清理无用镜像
- docker image prune -f --filter "dangling=true"
# 启动服务
- name: deploy
image: docker:dind
volumes:
- name: docker-sock
path: /var/run/docker.sock
commands:
- echo 'deploy start'
- sh run.sh

11
Dockerfile

@ -0,0 +1,11 @@ @@ -0,0 +1,11 @@
# 基础镜像
FROM openjdk:8-jre-slim
# 维护者信息
MAINTAINER niushuai233 shuai.niu@foxmail.com
# 拷贝jar
ADD target/*.jar /app.jar
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# 入口程序
ENTRYPOINT ["java", "-jar", "/app.jar"]

18
deploy.sh

@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
#!/bin/bash
d_group_name=niushuai233
d_app_name=db-bastion-server
d_app_version=latest
d_app_port_inner=8080
d_app_port_export=
if [[ -n $(docker ps -q -f "name=^${d_app_name}$") ]];then
echo "${d_app_name} already started before ==> rm"
docker rm -f ${d_app_name}
echo "${d_app_name} rm success"
else
echo "${d_app_name} never started"
fi
docker run -dit -p ${d_app_port_export}:${d_app_port_inner} --name=${d_app_name} ${d_group_name}/${d_app_name}:${d_app_version}
echo "${d_app_name} started"
Loading…
Cancel
Save