first
continuous-integration/drone/push Build is passing Details

master
NY 4 weeks ago
parent 23a24eaae5
commit 2c0d674478

@ -28,6 +28,29 @@ steps:
- pwd
- git clone http://47.112.165.44:3000/seekm/prdUploader.git
- name: build
image: golang:1.21-alpine
pull: never
environment:
GO111MODULE: on
CGO_ENABLED: 0
GOPROXY: https://goproxy.cn
GOMODCACHE: /go/pkg/mod
volumes:
- name: shared-folder
path: /workspace
- name: go-cache
path: /go/pkg/mod
commands:
- echo "Building binary..."
- cd /workspace/prdUploader
- pwd
- echo $GOMODCACHE
- go mod tidy
- go build -o myapp -ldflags "-X main.RunMode=test -s -w"
- echo "Building binary finished"
- ls -lh myapp
- name: deploy
image: docker:24.0-cli
pull: never
@ -43,3 +66,5 @@ steps:
- echo "Running Docker container..."
- docker run -d -p 11000:11000 prduploader:latest
- echo "Deployment finished"
- cd ..
- rm -rf prdUploader

@ -7,24 +7,8 @@ WORKDIR /workspace
# 将代码复制到容器内
COPY . .
# 设置 Go 模块缓存和构建缓存目录
ENV GOMODCACHE=/go/pkg/mod
ENV GOCACHE=/go/cache
# 编译可执行文件
RUN go mod tidy && go build -o myapp -ldflags "-X main.RunMode=test -s -w"
# 使用更小的基础镜像运行编译后的可执行文件
FROM alpine:latest
# 创建工作目录
WORKDIR /app
# 复制编译后的可执行文件到新的镜像
COPY --from=builder /workspace/myapp /app/
# 暴露容器端口
EXPOSE 11000
# 设置容器启动命令
CMD ["/app/myapp"]
CMD ["./myapp"]

Loading…
Cancel
Save