feat: add health hander and healtchek to docker image and update cd pipline for backend
All checks were successful
Backend ci / build (push) Successful in 3m11s

This commit is contained in:
d3m0k1d
2026-02-11 15:31:52 +03:00
parent 0804e4e80a
commit 54436e9cba
3 changed files with 13 additions and 3 deletions

View File

@@ -23,7 +23,10 @@ jobs:
secrets/site/prod/data/server SSH_KEY | SSH_KEY ;
secrets/site/prod/data/server USER | SERVER_USER ;
secrets/site/prod/data/server HOST | SERVER_HOST ;
secrets/site/prod/data/server PORT | SERVER_PORT
secrets/site/prod/data/server PORT | SERVER_PORT ;
secrets/site/prod/data/auth GITHUB_CLIENT_ID | GITHUB_CLIENT_ID ;
secrets/site/prod/data/auth GITHUB_CLIENT_SECRET | GITHUB_CLIENT_SECRET ;
secrets/site/prod/data/auth JWT_SECRET | JWT_SECRET
- name: Login to registry
run: echo "${{ steps.import-secrets.outputs.GITEA_TOKEN }}" | docker login gitea.d3m0k1d.ru -u d3m0k1d --password-stdin
@@ -44,4 +47,10 @@ jobs:
docker login -u d3m0k1d -p ${{ steps.import-secrets.outputs.GITEA_TOKEN }} gitea.d3m0k1d.ru
docker pull gitea.d3m0k1d.ru/d3m0k1d/backend:latest
docker rm -f d3m0k1d-backend || true
docker run --name d3m0k1d-backend -d -p 8080:8080 --restart unless-stopped gitea.d3m0k1d.ru/d3m0k1d/backend:latest
docker run --name d3m0k1d-backend -d -p 8080:8080 \
-e JWT_SECRET="${{ steps.import-secrets.outputs.JWT_SECRET }}" \
-e GITHUB_CLIENT_ID="${{ steps.import-secrets.outputs.GITHUB_CLIENT_ID }}" \
-e GITHUB_CLIENT_SECRET="${{ steps.import-secrets.outputs.GITHUB_CLIENT_SECRET }}" \
-e REDIRECT_URL="https://d3m0k1d.ru/api/v1/callback/github" \
--restart unless-stopped \
gitea.d3m0k1d.ru/d3m0k1d/backend:latest

View File

@@ -15,5 +15,5 @@ FROM alpine:3.23.0
COPY --from=builder /app/backend .
EXPOSE 8080
HEALTHCHECK CMD curl --fail http://localhost:8080/health || exit 1
CMD ["./backend"]

View File

@@ -10,6 +10,7 @@ import (
func Register(router *gin.Engine, db *sql.DB) {
handler_posts := NewPostHandlers(repositories.NewPostRepository(db))
handler_auth := NewAuthHandlers(repositories.NewAuthRepository(db))
router.GET("/health", func(c *gin.Context) { c.Status(200) })
v1 := router.Group("api/v1")
v1.GET("/callback/github", handler_auth.CallbackGithub)
v1.GET("/auth/github", handler_auth.LoginGithub)