You've already forked golang-saas-starter-kit
mirror of
https://github.com/raseels-repos/golang-saas-starter-kit.git
synced 2025-08-10 22:41:25 +02:00
updated gitlab to cache devops tool build
This commit is contained in:
@@ -7,7 +7,7 @@ variables:
|
|||||||
DOCKER_TLS_CERTDIR: ""
|
DOCKER_TLS_CERTDIR: ""
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- 'cd ./tools/devops && make install && cd ../../'
|
- './tools/devops/scripts/build.sh'
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build:dev
|
- build:dev
|
||||||
|
24
tools/devops/Dockerfile
Normal file
24
tools/devops/Dockerfile
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
FROM golang:1.12.6-alpine3.9
|
||||||
|
|
||||||
|
LABEL maintainer="lee@geeksinthewoods.com"
|
||||||
|
|
||||||
|
RUN apk --update --no-cache add \
|
||||||
|
git
|
||||||
|
|
||||||
|
# Change dir to project base.
|
||||||
|
WORKDIR $GOPATH/src/gitlab.com/geeks-accelerator/oss/saas-starter-kit
|
||||||
|
|
||||||
|
# Enable go modules.
|
||||||
|
ENV GO111MODULE="on"
|
||||||
|
COPY go.mod .
|
||||||
|
COPY go.sum .
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
COPY internal ./internal
|
||||||
|
COPY tools/devops ./tools/devops
|
||||||
|
|
||||||
|
WORKDIR ./tools/devops
|
||||||
|
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix nocgo -o /devops .
|
||||||
|
|
||||||
|
ENTRYPOINT ["/devops"]
|
26
tools/devops/scripts/build.sh
Executable file
26
tools/devops/scripts/build.sh
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
doPush=0
|
||||||
|
if [[ "${CI_REGISTRY_USER}" != "" ]]; then
|
||||||
|
docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD}
|
||||||
|
|
||||||
|
releaseImg="${CI_REGISTRY_IMAGE}:devops-${CI_COMMIT_REF_NAME}"
|
||||||
|
doPush=1
|
||||||
|
else :
|
||||||
|
releaseImg="devops"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "release image: ${releaseImg}"
|
||||||
|
|
||||||
|
docker pull ${releaseImg} || true
|
||||||
|
|
||||||
|
docker build -f tools/devops/Dockerfile --cache-from ${releaseImg} -t ${releaseImg} .
|
||||||
|
|
||||||
|
if [[ $doPush == 1 ]]; then
|
||||||
|
docker push ${releaseImg}
|
||||||
|
fi
|
||||||
|
|
||||||
|
binPath=$GOROOT/bin/devops
|
||||||
|
echo "installing to: ${binPath}"
|
||||||
|
|
||||||
|
docker run --rm --entrypoint=cat devops /devops > $binPath
|
Reference in New Issue
Block a user