Add gitlab action steps to build and push docker

This commit is contained in:
Callum Gare 2022-05-18 22:35:51 +10:00
parent b63ea16697
commit 3913c1c91e
2 changed files with 29 additions and 7 deletions

View File

@ -22,7 +22,6 @@ jobs:
with: with:
go-version: 1.16 go-version: 1.16
- name: "Build & test" - name: "Build & test"
run: "make tools release-artifacts" run: "make tools release-artifacts"
@ -34,4 +33,22 @@ jobs:
title: "Development Build" title: "Development Build"
files: | files: |
LICENSE LICENSE
builds/dist/* builds/dist/*
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-buildx-action@v1
- uses: docker/login-action@v1
with:
username: "${{ secrets.DOCKER_HUB_USER }}"
password: "${{ secrets.DOCKER_HUB_TOKEN }}"
- name: "Build and push docker image"
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
push: true
tags: "${{ secrets.DOCKER_REPO }}:latest"

View File

@ -1,15 +1,20 @@
FROM golang:1.16 FROM node:16 as js-build
WORKDIR /gotty
COPY js /gotty/js
COPY Makefile /gotty/
RUN make bindata/static/js/gotty.js.map
FROM golang:1.16 as go-build
WORKDIR /gotty WORKDIR /gotty
COPY . /gotty COPY . /gotty
COPY --from=js-build /gotty/js/node_modules /gotty/js/node_modules
COPY --from=js-build /gotty/bindata/static/js /gotty/bindata/static/js
RUN CGO_ENABLED=0 make RUN CGO_ENABLED=0 make
FROM alpine:latest FROM alpine:latest
RUN apk update && \ RUN apk update && \
apk upgrade && \ apk upgrade && \
apk --no-cache add ca-certificates && \ apk --no-cache add ca-certificates bash
apk add bash
WORKDIR /root WORKDIR /root
COPY --from=0 /gotty/gotty /usr/bin/ COPY --from=go-build /gotty/gotty /usr/bin/
CMD ["gotty", "-w", "bash"] CMD ["gotty", "-w", "bash"]