drone build
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
liupeng 2024-03-06 09:06:07 +08:00
parent 00269b7d29
commit 232fe8fc22
2 changed files with 30 additions and 35 deletions

View File

@ -14,30 +14,27 @@ clone:
steps: steps:
#构建镜像 #构建镜像
# - name: build - name: build
# image: golang:latest image: golang:latest
# pull: if-not-exists pull: if-not-exists
# volumes: volumes:
# - name: pkgdeps - name: pkgdeps
# path: /go/pkg path: /go/pkg
# environment: environment:
# GOPROXY: "https://goproxy.cn,direct" # 懂的都懂 GOPROXY: "https://goproxy.cn,direct" # 懂的都懂
# commands: commands:
# - CGO_ENABLED=0 go build -o adapt -ldflags="-w -s" - CGO_ENABLED=0 go build -o cli -ldflags="-w -s"
# when: when:
# branch: branch:
# - master - master
# - dev - dev
# event: event:
# - push - push
# 开发版 # 开发版
- name: docker-${DRONE_BRANCH} - name: docker-${DRONE_BRANCH}
image: plugins/docker image: plugins/docker
settings: settings:
environment:
DOCKER_BUILDKIT: 1
DOCKER_CLI_EXPERIMENTAL: "enabled"
username: liupeng username: liupeng
password: password:
from_secret: DOCKER_PASSWORD from_secret: DOCKER_PASSWORD

View File

@ -1,26 +1,24 @@
# syntax=docker/dockerfile:1.2 # syntax=docker/dockerfile:1.2
FROM golang:1.22-alpine as base # FROM golang:1.22-alpine as base
ENV GO111MODULE on # ENV GO111MODULE on
ENV GOPROXY=https://goproxy.io # ENV GOPROXY=https://goproxy.io
WORKDIR /src # WORKDIR /src
# 通过提前运行go mod download可以使用cache编译避免每次编译都下载加快编译速度 # 通过提前运行go mod download可以使用cache编译避免每次编译都下载加快编译速度
# COPY go.mod go.sum ./ # RUN --mount=type=cache,target=/go/pkg/mod/ \
RUN --mount=type=cache,target=/go/pkg/mod/ \ # --mount=type=bind,source=/go.sum,target=/go.sum \
--mount=type=bind,source=/go.sum,target=/go.sum \ # --mount=type=bind,source=/go.mod,target=/go.mod \
--mount=type=bind,source=/go.mod,target=/go.mod \ # go mod download -x
go mod download -x # COPY . .
COPY . . # RUN --mount=type=cache,target=/go/pkg/mod/ \
# GOOS=linux CGO_ENABLED=0 go build -o /bin/cli -ldflags="-w -s"
FROM base AS build-client
RUN --mount=type=cache,target=/go/pkg/mod/ \
GOOS=linux CGO_ENABLED=0 go build -o /bin/adapt -ldflags="-w -s"
# 生成alpine部署容器 # 生成alpine部署容器
FROM scratch as client FROM scratch as client
LABEL MAINTAINER='LIU Peng<liupeng@daymele.com>' LABEL MAINTAINER='LIU Peng<liupeng@daymele.com>'
WORKDIR / WORKDIR /
COPY --from=build-client /bin/adapt /adapt # COPY --from=build-client /bin/cli /cli
COPY ./cli /cli
# 健康检测 # 健康检测
ADD ./hc.sh /root/healthcheck.sh ADD ./hc.sh /root/healthcheck.sh
@ -37,7 +35,7 @@ ADD zoneinfo.tar.gz /
# && echo "Asia/Shanghai" > /etc/timezone \ # && echo "Asia/Shanghai" > /etc/timezone \
# && apk del tzdata \ # && apk del tzdata \
# && rm -rf /var/cache/apk/* # && rm -rf /var/cache/apk/*
ENTRYPOINT ["/adapt","-port","9000","-conf","/conf/daymele.conf"] ENTRYPOINT ["/cli","-port","9000","-conf","/conf/daymele.conf"]
EXPOSE 9000 EXPOSE 9000
# docker image prune 删除悬虚镜像 # docker image prune 删除悬虚镜像