From 2ab001bc708bb2b7cbf072d4cebb56fd9765ff4e Mon Sep 17 00:00:00 2001 From: Karim Pirzargar Date: Mon, 9 Mar 2026 20:16:14 +0330 Subject: [PATCH] updat epush --- .drone.yml | 78 ++++++++++++++++++++++++++---------------- cmd/scraper/Dockerfile | 37 +++++++++++--------- cmd/web/Dockerfile | 38 +++++++++++--------- cmd/worker/Dockerfile | 33 ++++++++++-------- 4 files changed, 110 insertions(+), 76 deletions(-) diff --git a/.drone.yml b/.drone.yml index 0dc0501..63d9148 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,64 +1,84 @@ ################################################################################ -# build +# my118/5 ################################################################################ + kind: pipeline type: docker -name: (build dev) build form and push to artifactory - +name: (dev) build form and push to artifactory +clone: + depth: 1 steps: - - name: build tag - image: alpine/git:2.40.1 + - name: build golang app admin and user + image: docker-mirror.ravanertebat.ir/hub/golang:1.24 environment: GOOS: linux GOARCH: amd64 CGO_ENABLED: 0 + GOPROXY: "https://mirror.ravanertebat.ir/repository/golang-proxy,direct" + GOSUMDB: "sum.golang.org https://mirror.ravanertebat.ir/repository/golang-sum-proxy" + # GOINSECURE: "10.64.16.1" + # GOPRIVATE: "10.64.16.1" settings: debug: true commands: - - APP_VERSION=$(git rev-list HEAD --count --no-merges)-$DRONE_BRANCH + - | + set -e + case "$DRONE_BRANCH" in + main) echo prod;; + uat) echo uat;; + dev) echo dev;; + *) echo dev;; + esac > .environment + - echo "Branch ${DRONE_BRANCH}, Environment $(cat .environment)" + - APP_VERSION=$(cat .environment)-${DRONE_BUILD_NUMBER} - echo "APP Version tags $APP_VERSION" - - echo -n "$APP_VERSION" >> .tags - - name: build web - image: plugins/docker - settings: - build_args: - - BUILD_APP=web - username: cicd - password: - from_secret: REGISTRY_PASSWORD - dockerfile: ./cmd/web/Dockerfile - repo: artifactory.ravanertebat.ir/tm/web - registry: artifactory.ravanertebat.ir + - echo -n "$APP_VERSION,latest" >> .tags + - mkdir -p ./artifacts/go/bin ./artifacts/go/config + - go env + - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ./artifacts/go/bin/web ./cmd/web/main.go + - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ./artifacts/go/bin/scraper ./cmd/scraper/main.go + - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o ./artifacts/go/bin/worker ./cmd/worker/main.go + - ls -ltrh ./artifacts/go/bin/ - - name: build scraper + - name: push scraper image: plugins/docker settings: - build_args: - - BUILD_APP=scraper + debug: true username: cicd password: from_secret: REGISTRY_PASSWORD - dockerfile: ./cmd/scraper/Dockerfile repo: artifactory.ravanertebat.ir/tm/scraper registry: artifactory.ravanertebat.ir + dockerfile: ./cmd/scraper/Dockerfile - - name: build worker + - name: push web image: plugins/docker settings: - build_args: - - BUILD_APP=worker + debug: true + username: cicd + password: + from_secret: REGISTRY_PASSWORD + repo: artifactory.ravanertebat.ir/tm/web + registry: artifactory.ravanertebat.ir + dockerfile: ./cmd/web/Dockerfile + + - name: push worker + image: plugins/docker + settings: + debug: true username: cicd password: from_secret: REGISTRY_PASSWORD - dockerfile: ./cmd/worker/Dockerfile repo: artifactory.ravanertebat.ir/tm/worker registry: artifactory.ravanertebat.ir - + dockerfile: ./cmd/worker/Dockerfile node: tag: aecde-docker-runner trigger: branch: - main - - develop + - uat + - dev event: - - custom \ No newline at end of file + - promote + - custom diff --git a/cmd/scraper/Dockerfile b/cmd/scraper/Dockerfile index a4c7e33..4cb0468 100644 --- a/cmd/scraper/Dockerfile +++ b/cmd/scraper/Dockerfile @@ -1,22 +1,25 @@ -ARG GO_VERSION=1.23 ARG BASH_VERSION=5.0 -FROM golang:${GO_VERSION} AS go-builder +FROM docker-mirror.ravanertebat.ir/base/amd64/bash:$BASH_VERSION -WORKDIR /app +## all below action added to base image @Dockerfile.bash-base +# #ADD ./fastest-mirror.sh /etc/apk/ +# #RUN chmod +x /etc/apk/fastest-mirror.sh \ +# # && /etc/apk/fastest-mirror.sh +# RUN apk update +# # RUN apk add --upgrade busybox-suid +# RUN apk --no-cache add --update busybox-suid \ +# && apk --no-cache add curl rsync tzdata tcpdump tree ca-certificates s-nail \ +# && ln -s /usr/bin/mail /usr/bin/s-nail \ +# && mkdir -p /go/bin/media \ +# && mkdir -p /go/bin/log \ +# && mkdir -p /go/bin/config +WORKDIR /go/bin/ -COPY . . -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o scraper-build ./cmd/scraper/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/scraper-build . - -EXPOSE 80 - -ENTRYPOINT /app/scraper-build +## Copy pre-built artifacts from Drone CI build steps +COPY ./artifacts/go/bin/scraper . +# COPY ./artifacts/go/config/*.json ./config/ +EXPOSE 8686 +# Set the binary. +ENTRYPOINT ["/go/bin/scraper"] diff --git a/cmd/web/Dockerfile b/cmd/web/Dockerfile index d448d3c..3e886ad 100644 --- a/cmd/web/Dockerfile +++ b/cmd/web/Dockerfile @@ -1,24 +1,30 @@ -ARG GO_VERSION=1.23 ARG BASH_VERSION=5.0 -FROM golang:${GO_VERSION} AS go-builder +FROM docker-mirror.ravanertebat.ir/base/amd64/bash:$BASH_VERSION -WORKDIR /app +## all below action added to base image @Dockerfile.bash-base +# #ADD ./fastest-mirror.sh /etc/apk/ +# #RUN chmod +x /etc/apk/fastest-mirror.sh \ +# # && /etc/apk/fastest-mirror.sh +# RUN apk update +# # RUN apk add --upgrade busybox-suid +# RUN apk --no-cache add --update busybox-suid \ +# && apk --no-cache add curl rsync tzdata tcpdump tree ca-certificates s-nail \ +# && ln -s /usr/bin/mail /usr/bin/s-nail \ +# && mkdir -p /go/bin/media \ +# && mkdir -p /go/bin/log \ +# && mkdir -p /go/bin/config +WORKDIR /go/bin/ -COPY . . -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o web-build ./cmd/web/main.go +## Copy pre-built artifacts from Drone CI build steps +COPY ./artifacts/go/bin/web . +COPY ./cmd/web/assets ./assets +COPY ./app/cmd/web/docs ./docs +# COPY ./artifacts/go/config/*.json ./config/ +EXPOSE 8686 +# Set the binary. +ENTRYPOINT ["/go/bin/web"] -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/web-build . -COPY --from=go-builder /app/cmd/web/assets ./assets -COPY --from=go-builder /app/cmd/web/docs ./docs - -EXPOSE 80 - -ENTRYPOINT /app/web-build diff --git a/cmd/worker/Dockerfile b/cmd/worker/Dockerfile index 0befafc..2e106b2 100644 --- a/cmd/worker/Dockerfile +++ b/cmd/worker/Dockerfile @@ -1,22 +1,27 @@ -ARG GO_VERSION=1.23 ARG BASH_VERSION=5.0 -FROM golang:${GO_VERSION} AS go-builder +FROM docker-mirror.ravanertebat.ir/base/amd64/bash:$BASH_VERSION -WORKDIR /app +## all below action added to base image @Dockerfile.bash-base +# #ADD ./fastest-mirror.sh /etc/apk/ +# #RUN chmod +x /etc/apk/fastest-mirror.sh \ +# # && /etc/apk/fastest-mirror.sh +# RUN apk update +# # RUN apk add --upgrade busybox-suid +# RUN apk --no-cache add --update busybox-suid \ +# && apk --no-cache add curl rsync tzdata tcpdump tree ca-certificates s-nail \ +# && ln -s /usr/bin/mail /usr/bin/s-nail \ +# && mkdir -p /go/bin/media \ +# && mkdir -p /go/bin/log \ +# && mkdir -p /go/bin/config +WORKDIR /go/bin/ -COPY . . -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o worker-build ./cmd/worker/main.go +## Copy pre-built artifacts from Drone CI build steps +COPY ./artifacts/go/bin/worker . +EXPOSE 8686 +# Set the binary. +ENTRYPOINT ["/go/bin/worker"] -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 . - -EXPOSE 80 - -ENTRYPOINT /app/worker-build