Created reactor build script for docker images and tested local registry

main
Keegan 2 years ago
parent 247ba5fdbc
commit b52f243605

@ -1,8 +1,10 @@
*
# exluding everything and only allowing directly relevant stuff
!cmd/server/main.go
!cmd/reactor/main.go
!internal
!tokens
!go.mod
!go.sum
!server
!reactor

@ -0,0 +1,22 @@
# syntax=docker/dockerfile:1
FROM --platform=$BUILDPLATFORM golang:1.18-alpine as builder
WORKDIR /app
COPY . .
RUN go mod download
ARG TARGETOS TARGETARCH TARGETVARIANT
RUN if [[ $TARGETVARIANT == "v7" ]]; \
then \
export GOARM=7; \
fi; \
CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o /reactor ./cmd/reactor/main.go
FROM alpine
COPY --from=builder /reactor .
ENTRYPOINT [ "./reactor" ]

@ -0,0 +1,44 @@
#!/bin/bash
display_usage() {
echo "Usage: $0 reactor_type"
}
# checking for help options
if [[ $@ == "--help" || $@ == "-h" ]]
then
display_usage
exit 0
fi
# checking that arguements are not empty
if [[ -z $1 ]]
then
echo "Type of reactor not specified!"
display_usage
exit 1
fi
# checking for valid reactor types
if [[ $1 == "pi" ]]
then
platform="linux/arm64"
elif [[ $1 == "bb" ]]
then
platform="linux/arm/v7"
else
echo "Reactor type $1 not supported!"
echo "Supported reactors include: pi, bb"
display_usage
exit 1
fi
# building reactor image
echo "Building Reactor image for $1 platform=$platform"
docker buildx build --rm --platform=$platform -f Dockerfile.reactor --tag localhost:5000/reactor .
echo "Cleaning local images"
docker image remove localhost:5000/reactor
Loading…
Cancel
Save