ci: add db migration and config validation to pipeline
Some checks failed
Deploy / CreateImage (push) Successful in 2m42s
Deploy / ValidateConfig (push) Failing after 27s
Deploy / MigrateDatabase (push) Has been skipped
Deploy / DeployService (push) Has been skipped

This commit is contained in:
skeris 2025-06-03 23:57:07 +03:00
parent 525d54645c
commit 4c730b8af2
4 changed files with 48 additions and 23 deletions

@ -15,9 +15,28 @@ jobs:
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
ValidateConfig:
runs-on: [squizstaging]
uses: https://gitea.pena/PenaDevops/actions.git/.gitea/workflows/validate_config.yml@v1.2.1
needs: CreateImage
with:
runner: hubstaging
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
MigrateDatabase:
runs-on: [squizstaging]
uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/migrate.yml@9263e22095fa40bcb36881ad81722d3049acd07f
needs: ValidateConfig
with:
runner: hubstaging
branch_name: ${{ github.ref_name }}
secrets:
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
DeployService:
runs-on: [squizstaging]
needs: CreateImage
needs: MigrateDatabase
uses: http://gitea.pena/PenaDevops/actions.git/.gitea/workflows/deploy.yml@v1.1.4-p7
with:
runner: squizstaging

@ -3,7 +3,9 @@ WORKDIR /app
COPY . .
RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o wrkr ./cmd/main.go
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o validator ./cmd/validator/main.go
FROM gitea.pena/penadevops/container-images/alpine:main as prod
COPY --from=build /app/validator .
COPY --from=build /app/wrkr .
CMD ["/wrkr"]

@ -0,0 +1,22 @@
IS_PROD_LOG="false"
IS_PROD='false'
POSTGRES_URL='host=10.7.0.10 port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
KAFKA_BROKERS= '10.7.0.6:9092'
KAFKA_TOPIC= 'tariffs'
QUIZ_ID=quizCnt
AMOUNT=10
UNLIM_ID=quizUnlimTime
REDIS_HOST='10.7.0.10:6379'
REDIS_PASSWORD='Redalert2'
REDIS_DB=2
MAIL_SENDER='noreply@mailing.pena.digital'
MAIL_API_KEY='P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev'
CUSTOMER_MICROSERVICE_RPC_URL='10.7.0.6:9060'
S3_ENDPOINT=s3.timeweb.cloud
S3_ACCESS_KEY=5CV77KVDUU9H0II9R24M
S3_SECRET_KEY=0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu
KAFKA_TOPIC_GIGA_CHAT=gigachat
KAFKA_GROUP_GIGA_CHAT=""
GIGA_CHAT_API_AUTH_KEY=Y2MzZWUxZDMtZGE5MC00ZTFjLWI5YzItM2ViMTZmMDM0YTkwOmY1NTlkOGM3LWUyNmQtNGUwMC1hODE0LTJlYjQ5NDA5ODdjMQ==
GIGA_CHAT_API_BASE_URL="https://gigachat.devices.sberbank.ru/api/v1"

@ -4,25 +4,7 @@ services:
container_name: squiz-workerv1.0.0
image: gitea.pena/squiz/worker/staging:$GITHUB_RUN_NUMBER
tty: true
environment:
IS_PROD_LOG: 'false'
IS_PROD: 'false'
POSTGRES_URL: 'host=10.7.0.10 port=5432 user=squiz password=Redalert2 dbname=squiz sslmode=disable'
KAFKA_BROKERS: '10.7.0.6:9092'
KAFKA_TOPIC: 'tariffs'
QUIZ_ID: quizCnt
AMOUNT: 10
UNLIM_ID: quizUnlimTime
REDIS_HOST: '10.7.0.10:6379'
REDIS_PASSWORD: 'Redalert2'
REDIS_DB: 2
MAIL_SENDER: 'noreply@mailing.pena.digital'
MAIL_API_KEY: 'P0YsjUB137upXrr1NiJefHmXVKW1hmBWlpev'
CUSTOMER_MICROSERVICE_RPC_URL: '10.7.0.6:9060'
S3_ENDPOINT: s3.timeweb.cloud
S3_ACCESS_KEY: 5CV77KVDUU9H0II9R24M
S3_SECRET_KEY: 0W0m8DyvdAKRJnsAy6mB5zndQ7RouJBLhqhtThcu
KAFKA_TOPIC_GIGA_CHAT: gigachat
KAFKA_GROUP_GIGA_CHAT: ""
GIGA_CHAT_API_AUTH_KEY: Y2MzZWUxZDMtZGE5MC00ZTFjLWI5YzItM2ViMTZmMDM0YTkwOmY1NTlkOGM3LWUyNmQtNGUwMC1hODE0LTJlYjQ5NDA5ODdjMQ==
GIGA_CHAT_API_BASE_URL: "https://gigachat.devices.sberbank.ru/api/v1"
env_file: config.env
ports:
- 10.7.0.10:2347:2345
command: dlv --listen=:2345 --continue --headless=true --log=true --log-output=debugger,debuglineerr,gdbwire,lldbout,rpc --accept-multiclient --api-version=2 exec /wrkr