Private GIT

Skip to content
Snippets Groups Projects
Commit 4edd5cb4 authored by vx3r's avatar vx3r
Browse files

cd/cd docker build from Dockerfile

parent 26dec5ce
Branches
No related tags found
No related merge requests found
stages:
- build
- deploy
- build docker image
- push docker hub
build-back:
stage: build
image: golang:alpine
script:
- go build -o ${CI_PROJECT_NAME}-linux-amd64
artifacts:
paths:
- ${CI_PROJECT_NAME}-linux-amd64
build-front:
stage: build
image: node:10-alpine
build:
stage: build docker image
image: docker:latest
script:
- cd ./ui
- npm install
- npm run build
- cd ..
artifacts:
paths:
- ui/dist
- docker info
- docker build --network br_docker --tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA} --tag ${CI_REGISTRY_IMAGE}:latest .
deploy:
stage: deploy
push:
stage: push docker hub
image: docker:latest
only:
- master
script:
- docker login -u ${CI_REGISTRY_USER} -p ${REGISTRY_PASSWORD} ${CI_REGISTRY}
- docker build --network br_docker --tag ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA} --tag ${CI_REGISTRY_IMAGE}:latest .
- echo ${REGISTRY_PASSWORD} | docker login -u ${CI_REGISTRY_USER} --password-stdin ${CI_REGISTRY}
- docker push ${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHORT_SHA}
- docker push ${CI_REGISTRY_IMAGE}:latest
FROM alpine
FROM golang:alpine AS build-back
WORKDIR /app
ADD . .
RUN go build -o wg-gen-web-linux
FROM node:10-alpine as build-front
WORKDIR /app
ADD ui .
RUN npm install
RUN npm run build
ADD wg-gen-web-linux-amd64 .
FROM alpine
WORKDIR /app
COPY --from=build-back /app/wg-gen-web-linux .
COPY --from=build-front /app/dist ./ui/dist
ADD .env .
ADD ui/dist ui/dist
RUN chmod +x ./wg-gen-web-linux-amd64
RUN apk update && apk --no-cache add wget ca-certificates
RUN chmod +x ./wg-gen-web-linux
RUN apk add --no-cache ca-certificates
EXPOSE 8080
CMD ["/app/wg-gen-web-linux-amd64"]
CMD ["/app/wg-gen-web-linux"]
\ No newline at end of file
FROM golang:alpine AS build-back
WORKDIR /app
ADD . .
RUN go build -o wg-gen-web-linux-amd64
FROM node:10-alpine as build-front
WORKDIR /app
ADD ui .
RUN npm install
RUN npm run build
FROM alpine
WORKDIR /app
COPY --from=build-back /app/wg-gen-web-linux-amd64 .
COPY --from=build-front /app/dist ./ui/dist
ADD .env .
RUN chmod +x ./wg-gen-web-linux-amd64
RUN apk add --no-cache ca-certificates
EXPOSE 8080
CMD ["/app/wg-gen-web-linux-amd64"]
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment