ci: deploy to prod
This commit is contained in:
parent
a0fd2e206e
commit
2b6e3251ea
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
17
deployments/main/docker-compose.yaml
Normal file
17
deployments/main/docker-compose.yaml
Normal file
@ -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
|
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user