1
0
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:
Lee Brown
2019-08-06 13:38:51 -08:00
parent a327dc0197
commit 34886325f6
3 changed files with 51 additions and 1 deletions

View File

@@ -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
View 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
View 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