diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 895b6df..97929ba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,46 +1,17 @@ include: - project: "devops/pena-continuous-integration" file: "/templates/docker/build-template.gitlab-ci.yml" - - project: "devops/pena-continuous-integration" - file: "/templates/docker/clean-template.gitlab-ci.yml" - project: "devops/pena-continuous-integration" file: "/templates/docker/deploy-template.gitlab-ci.yml" stages: - - clean - build - deploy -clear-old-images: - extends: .clean_template - variables: - STAGING_BRANCH: "main" - PRODUCTION_BRANCH: "main" - image: - name: docker/compose:1.28.0 - entrypoint: [""] - before_script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker images - script: - - docker system prune -af - build-app: extends: .build_template - variables: - DOCKER_BUILD_PATH: "build/Dockerfile" - PRODUCTION_BRANCH: main - STAGING_BRANCH: "main" - rules: - - if: $CI_COMMIT_BRANCH == $PRODUCTION_BRANCH || $CI_COMMIT_BRANCH == $STAGING_BRANCH - - script: - - docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID --build-arg GITLAB_TOKEN=$GITLAB_TOKEN $CI_PROJECT_DIR - - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID - deploy-to-staging: + tags: + - prod extends: .deploy_template - variables: - DEPLOY_TO: "staging" - BRANCH: "main" diff --git a/Dockerfile b/Dockerfile index 22b5672..f303eed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,10 @@ -FROM golang:alpine as build +FROM penahub.gitlab.yandexcloud.net:5050/devops/dockerhub-backup/golang as build WORKDIR /app -RUN apk add git COPY . . RUN go mod download RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o app ./cmd/feedback/main.go -FROM alpine as prod +FROM penahub.gitlab.yandexcloud.net:5050/devops/dockerhub-backup/alpine as prod COPY --from=build /app/app . COPY ./assets/template_msg.txt ./template.txt EXPOSE 80 diff --git a/deployments/main/docker-compose.yaml b/deployments/main/docker-compose.yaml new file mode 100644 index 0000000..3765104 --- /dev/null +++ b/deployments/main/docker-compose.yaml @@ -0,0 +1,17 @@ +services: + feedback: + container_name: feedback + restart: unless-stopped + tty: true + hostname: feedback + networks: + - default + image: $CI_REGISTRY_IMAGE/main:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + ports: + - 8006:80 + environment: + - HTTP_ADDRESS=:80 + - HTTP_RATE_LIMIT=30s + - TEMPLATE_PATH=template.txt + - TELEGRAM_CHANNEL_ID=-1001761855840 + - TELEGRAM_TOKEN=6112841016:AAH2nO1c6mqfMewBvHwdXCDp5PCclOuc99s diff --git a/deployments/staging/docker-compose.yaml b/deployments/staging/docker-compose.yaml index 460e9c1..6df59a9 100644 --- a/deployments/staging/docker-compose.yaml +++ b/deployments/staging/docker-compose.yaml @@ -6,7 +6,7 @@ services: hostname: feedback networks: - default - image: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID + image: $CI_REGISTRY_IMAGE/staging:$CI_COMMIT_REF_SLUG.$CI_PIPELINE_ID ports: - 8006:80 environment: