Commit 6225526

mo khan <mo@mokhan.ca>
2025-04-11 16:52:29
chore: build sparkled in docker
1 parent 7397964
Changed files (3)
cmd/sparkled/main.go
@@ -9,8 +9,11 @@ import (
 )
 
 func main() {
+	bindAddr := env.Fetch("BIND_ADDR", ":http")
+	log.Printf("Listening on %v\n", bindAddr)
+
 	log.Fatal(http.ListenAndServe(
-		env.Fetch("BIND_ADDR", ":http"),
+		bindAddr,
 		web.NewServer(nil),
 	))
 }
.gitlab-ci.yml
@@ -1,3 +1,21 @@
+build:
+  script:
+    - docker build .
+
+build-docker-image:
+  image: docker:24-git
+  interruptible: true
+  stage: build
+  services:
+    - docker:24-git
+  before_script:
+    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+  script:
+    - docker build --tag "$CONTAINER_IMAGE_COMMIT" .
+    - docker push $CONTAINER_IMAGE_COMMIT
+  variables:
+    CONTAINER_IMAGE_COMMIT: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
+
 test:
   image: golang:alpine
   script:
Dockerfile
@@ -0,0 +1,9 @@
+# syntax=docker/dockerfile:1
+FROM golang:1.24.0
+ENV BIND_ADDR=":8080"
+ENV CGO_ENABLED=0
+WORKDIR /app
+COPY . ./
+RUN go build -o /bin/sparkled ./cmd/sparkled/main.go
+EXPOSE 8080
+CMD ["/bin/sparkled"]