summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml18
-rw-r--r--Dockerfile9
-rw-r--r--cmd/sparkled/main.go5
3 files changed, 31 insertions, 1 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fee75e4..d64c00e 100644
--- a/.gitlab-ci.yml
+++ b/.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:
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..e2d2df0
--- /dev/null
+++ b/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"]
diff --git a/cmd/sparkled/main.go b/cmd/sparkled/main.go
index 893f708..416cc9b 100644
--- a/cmd/sparkled/main.go
+++ b/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),
))
}