From 10a9081c688ada8238bc6a21b1479507ff237212 Mon Sep 17 00:00:00 2001 From: "n.nakhostin" Date: Sat, 18 Oct 2025 09:07:46 +0330 Subject: [PATCH] Add Worker Build Step and Dockerfile for Background Processing - Introduced a new build step in the Drone CI configuration for the worker service, enabling automated Docker image creation. - Added a Dockerfile for the worker service, defining the build process and dependencies, ensuring a streamlined deployment for background tasks. - Enhanced the overall CI/CD pipeline to support the new worker service, improving the project's build and deployment capabilities. --- .drone.yml | 13 ++++++++++++- cmd/worker/Dockerfile | 23 +++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 cmd/worker/Dockerfile diff --git a/.drone.yml b/.drone.yml index 78de1f2..0dc0501 100644 --- a/.drone.yml +++ b/.drone.yml @@ -42,12 +42,23 @@ steps: repo: artifactory.ravanertebat.ir/tm/scraper registry: artifactory.ravanertebat.ir + - name: build worker + image: plugins/docker + settings: + build_args: + - BUILD_APP=worker + username: cicd + password: + from_secret: REGISTRY_PASSWORD + dockerfile: ./cmd/worker/Dockerfile + repo: artifactory.ravanertebat.ir/tm/worker + registry: artifactory.ravanertebat.ir + node: tag: aecde-docker-runner trigger: branch: - main - develop - - feature/ted event: - custom \ No newline at end of file diff --git a/cmd/worker/Dockerfile b/cmd/worker/Dockerfile new file mode 100644 index 0000000..8cbda50 --- /dev/null +++ b/cmd/worker/Dockerfile @@ -0,0 +1,23 @@ +ARG GO_VERSION=1.23 +ARG BASH_VERSION=5.0 + +FROM golang:${GO_VERSION} AS go-builder + +WORKDIR /app + +COPY . . + +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o worker-build ./cmd/worker/main.go + +FROM bash:${BASH_VERSION} +RUN apk --no-cache add busybox-suid curl rsync tzdata tcpdump tree ca-certificates s-nail \ + && ln -s /usr/bin/mail /usr/bin/s-nail + +WORKDIR /app + +COPY --from=go-builder /app/worker-build . +COPY --from=go-builder /app/cmd/worker/assets ./assets + +EXPOSE 80 + +ENTRYPOINT /app/worker-build