diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..c3625a5 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,40 @@ +name: lucifer3 + +kind: pipeline +type: docker + +steps: + - name: go-build + image: golang:1.17 + commands: + - go test -v ./... + when: + event: + exclude: + - tag + + - name: go-test + image: golang:1.17 + commands: + - go test -v ./... + when: + event: + exclude: + - tag + + - name: docker-backend-tag + image: plugins/docker + settings: + auto_tag: true + username: + from_secret: docker_username + password: + from_secret: docker_password + repo: r.vmaple.dev/lucifer/backend + registry: r.vmaple.dev + dockerfile: docker/backend/Dockerfile + when: + event: + - tag + + diff --git a/docker/backend/Dockerfile b/docker/backend/Dockerfile new file mode 100644 index 0000000..beb6d8f --- /dev/null +++ b/docker/backend/Dockerfile @@ -0,0 +1,27 @@ +##################### +## 1. Build server ## +##################### +FROM golang:1.17 AS build-server + +WORKDIR /project +COPY . . + +ENV CGO_ENABLED 0 + +RUN go mod download +RUN go build -ldflags "-w -s" -o /build/lucifer cmd/server/main.go + + + +################### +## 2. Run server ## +################### +FROM alpine:3.14.2 + +# Add results from previous builds +COPY --from=build-server /build/lucifer /usr/bin/lucifer + +RUN apk add --no-cache tzdata + +# Run server +CMD lucifer diff --git a/go.sum b/go.sum index 4a62778..7a4cc3e 100644 --- a/go.sum +++ b/go.sum @@ -75,7 +75,6 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 h1:nxC68pudNYkKU6jWhgrqdreuFiOQWj1Fs7T3VrH4Pjw= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=