Browse Source

speedup docker builds

Matthew R. Kasun 3 years ago
parent
commit
3a3cd83e85

+ 28 - 0
.github/workflows/docker-builder.yml

@@ -0,0 +1,28 @@
+name: Build go-builder images
+
+on:
+  workflow_dispatch:
+  schedule:
+    -cron: '00 21 * * SUN'
+
+jobs:
+  go-builder:
+    runs-on: ubuntu-latest
+    steps:
+    - name: Checkout
+      uses: actions/checkout@v2
+    - name: SetUp Buildx
+      uses: docker/setup-buildx-action@v1
+    - name: Login to Dockerhub
+      uses: docker/login-action@v1
+      with:
+          username: ${{ secrets.DOCKERHUB_USERNAME }}
+          password: ${{ secrets.DOCKERHUB_TOKEN }}
+      name: Build and push to docker hub
+      uses: docker/build-push-action@v2
+      with:
+        context: .
+        load: true
+        platform: linux/amd64
+        file: ./docker/Dockerfile-go-builder
+        tags: gravitl/go-builder:latest

+ 1 - 3
Dockerfile

@@ -1,7 +1,6 @@
 #first stage - builder
-FROM golang:1.18.0-alpine3.15 as builder
+FROM gravitl/go-builder as builder
 ARG version 
-RUN apk add build-base
 WORKDIR /app
 COPY . .
 ENV GO111MODULE=auto
@@ -17,5 +16,4 @@ RUN mkdir -p /etc/netclient/config
 COPY --from=builder /app/netmaker .
 COPY --from=builder /app/config config
 EXPOSE 8081
-EXPOSE 50051
 ENTRYPOINT ["./netmaker"]

+ 6 - 0
docker/Dockerfile-go-builder

@@ -0,0 +1,6 @@
+FROM golang:1.18.0-alpine3.15 
+ARG version 
+RUN apk add build-base
+WORKDIR /app
+COPY go.* ./ 
+RUN go mod download

+ 1 - 1
docker/Dockerfile-netclient-multiarch

@@ -1,4 +1,4 @@
-FROM golang:latest as builder
+FROM gravitl/go-builder as builder
 # add glib support daemon manager
 WORKDIR /app
 ARG version