Add Gitea CI: build/push to registry, deploy via Actions
Create and publish a Docker image / build-and-push-image (push) Successful in 5m10s

This commit is contained in:
monster
2026-08-08 12:29:48 +03:00
parent 30acb201c6
commit 725216134b
2 changed files with 57 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
name: Create and publish a Docker image
on:
push:
branches: [ "master" ]
env:
REGISTRY: gitea.yandex5.ru
IMAGE_NAME: monster/pepper_bot
jobs:
build-and-push-image:
runs-on: ubuntu-latest
if: ${{ github.server_url != 'https://github.com' }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
push: true
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}
labels: ${{ steps.meta.outputs.labels }}
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_GITEA_PRIVATE_KEY }}
known_hosts: 'just-a-placeholder-so-we-dont-get-errors'
- name: Adding Known Hosts
run: ssh-keyscan -p ${{ vars.SSH_PORT }} -H ${{ vars.SSH_HOST }} >> ~/.ssh/known_hosts
- name: "Deploy to server"
run: ssh monster@${{ vars.SSH_HOST }} -p ${{ vars.SSH_PORT }} 'cd docker.services/pepper_bot && git pull && docker login ${{ env.REGISTRY }} -u ${{ vars.REGISTRY_USERNAME }} --password ${{ secrets.REGISTRY_TOKEN }} && docker compose pull && docker compose build && docker compose up -d && docker system prune --force'
- name: Send message to Telegram
uses: Lukasss93/telegram-action@v2
env:
TELEGRAM_TOKEN: ${{ vars.TELEGRAM_TOKEN }}
TELEGRAM_CHAT: 123622180
+1
View File
@@ -4,6 +4,7 @@ services:
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
image: gitea.yandex5.ru/monster/pepper_bot:master
container_name: pepper-bot container_name: pepper-bot
environment: environment:
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN} - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}