From b8dcf7b65403e407411a79f847797c6a879dc9a0 Mon Sep 17 00:00:00 2001 From: niushuai233 Date: Thu, 29 Dec 2022 11:10:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8F=90=E4=BA=A4=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .drone.yml | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ Dockerfile | 11 +++++++++ deploy.sh | 18 +++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 .drone.yml create mode 100644 Dockerfile create mode 100644 deploy.sh diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..ba8277e --- /dev/null +++ b/.drone.yml @@ -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 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..7efc132 --- /dev/null +++ b/Dockerfile @@ -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"] \ No newline at end of file diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..5f016af --- /dev/null +++ b/deploy.sh @@ -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"