commit
e0b72630bc
4 changed files with 94 additions and 0 deletions
@ -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}} |
@ -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 |
@ -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…
Reference in new issue