Browse Source

test

master
muryor 4 years ago
commit
e0b72630bc
  1. 54
      .drone.yml
  2. 14
      Dockerfile
  3. 3
      go.mod
  4. 23
      main.go

54
.drone.yml

@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
kind: pipeline
name: golang-docker-ci
steps:
- name: 执行代码检查
image: golang:latest
commands:
- go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
- golangci-lint run
- name: 编译二进制文件
image: golang:latest
environment:
GOOS: linux
GOARCH: amd64
CGO_ENABLED: 0
# 编译生成二进制文件,我这儿叫 go-app,酌情修改
commands:
- go build -o go-app
- name: 打包Docker镜像并推送
image: plugins/docker
settings:
registry: 需要推送的Docker私服服务器地址
repo: 需要打包的镜像名称
use_cache: true
username: 私服登录用户名
password: 私服登录密码
auto_tag: true # 自动打tag
# 也可以用下面这个手动指定
# tags:
# - latest
# - 0.0.1
when:
event: push
branch: master
kind: pipeline
type: docker
name: default
steps:
- name: notify
image: kaynewang/drone-wechat-robot
settings:
msgtype: markdown
key: your own robot key
content: >
{{#success build.status}}
第 {{build.number}} 次构建已完成,状态:构建成功
{{else}}
第 {{build.number}} 次构建已完成,状态:构建失败
{{/success}}
提交记录:{{commit.author}} - {{commit.message}}

14
Dockerfile

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
FROM alpine
MAINTAINER LiXunHuan(lxh@cxh.cn)
# 创建工作目录,修改alpine源为中科大的源,安装必要工具
RUN mkdir -p /app && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
apk update && \
apk upgrade && \
apk add ca-certificates && update-ca-certificates && \
apk add --update tzdata && \
rm -rf /var/cache/apk/*
WORKDIR /app
COPY go-app ./
ENV TZ=Asia/Shanghai
EXPOSE 8080
ENTRYPOINT ./go-app

3
go.mod

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
module test_drone
go 1.16

23
main.go

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
package main
import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/sirupsen/logrus"
)
func main() {
r := gin.Default()
r.GET("/health", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H {
"health": true,
})
})
if err := r.Run(":8080"); err != nil {
logrus.WithError(err).Fatal("Couldn't listen")
}
}
Loading…
Cancel
Save