Codebergda o‘z Forgejo Runneringizni ishga tushirish: Devlar uchun o‘z CI/CD tizimini qurish

Codebergda o‘z Forgejo Runneringizni ishga tushirish: Devlar uchun o‘z CI/CD tizimini qurish

May 22, 2026 codeberg forgejo ci-cd docker self-hosting github-alternative devops automation

Nima uchun CI/CD Runneringizni o‘zingiz joylashtirasiz?

Agar Codebergdan GitHub o‘rniga foydalanayotgan bo‘lsangiz, uni yaxshi tanlaganingizni ko‘rasiz. Bu yerda versiya nazorati ochiq va xavfsiz. Lekin Codebergning umumiy runnerlari ba’zida sekin ishlaydi.

Yechim – o‘zingiz uchun Forgejo runner o‘rnatish. Runnerlar Codebergga ulanishni o‘zlari qiladi, shuning uchun VPSda, uy serveringizda yoki hatto noutbukingizda ham ishlaydi. Hech qanday port ochish shart emas.

Qanday ishlaydi?

Forgejo runner – bu Codebergdan topshiriqlarni olib, ularni bajaradigan dastur. Xavfsizlik uchun uni Docker-in-Docker yordamida ishlatamiz. Bu runnerga hostdagi Docker bilan aloqa qilmay turib, o‘zining konteynerlarini yaratish imkonini beradi.

Docker Compose sozlamasi

Oddiy ikki konteynerli tizim kerak bo‘ladi:

version: '3.8'

services:
  docker-in-docker:
    image: docker:dind
    container_name: 'docker_dind'
    privileged: 'true'
    command: ['dockerd', '-H', 'tcp://0.0.0.0:2375', '--tls=false']
    restart: 'unless-stopped'

  runner:
    image: 'data.forgejo.org/forgejo/runner:12'
    links:
      - docker-in-docker
    depends_on:
      docker-in-docker:
        condition: service_started
    container_name: 'runner'
    environment:
      DOCKER_HOST: tcp://docker-in-docker:2375
    user: 1001:1001
    volumes:
      - ./data:/data
    restart: 'unless-stopped'
    command: 'forgejo-runner daemon --config runner-config.yml'

Bu yerda bitta konteyner Docker muhitini yaratadi, ikkinchisi esa runner bo‘lib ishlaydi.

Tizimni tayyorlash

Avval katalog yaratib, ruxsatlarni sozlang:

cd /opt/forgejo-runner
mkdir -p data/.cache
chown -R 1001:1001 data
chmod 775 data/.cache
chmod g+s data/.cache

Keyin konfiguratsiya faylini yarating:

sudo sh -c 'docker run --rm data.forgejo.org/forgejo/runner:12 forgejo-runner generate-config > data/runner-config.yml'

Runneringizni Codebergga ro‘yxatdan o‘tkazish

Codeberg hisobingizga kiring. Actions → Runners bo‘limiga o‘ting. “Create new runner” tugmasini bosib, nom va tavsif qo‘shing.

Tizim sizga UUID va token beradi – ularni darhol yozib oling. Bu ma’lumotlar runneringizni Codeberg bilan bog‘laydi.

Label va imkoniyatlarni sozlash

runner-config.yml faylini ochib, ikki joyni o‘zgartiring:

  1. Server bo‘limiga UUID va tokenni qo‘shing.
  2. Labels qismini quyidagicha to‘ldiring:
labels: 
  - 'ubuntu-latest:docker://node:20-bookworm'
  - 'ubuntu-22.04:docker://node:20-bookworm'
  - 'ubuntu-24.04:docker://node:22-bookworm'

Bu labelar workflowlarda runs-on bilan ishlatiladi. Agar sizning runneringiz ubuntu-latest deb belgilangan bo‘lsa, u yerda ishlaydi.

Agar bir vaqtda ko‘p ish bajarishni xohlasangiz, capacity qiymatini 4 ga qo‘yib ko‘ring.

Ishga tushirish

Tayyor bo‘lgach, quyidagi buyruq bilan ishga tushiring:

docker-compose up -d

Loglarni tekshirib ko‘ring:

docker-compose logs -f runner

Agar muvaffaqiyatli ulangan bo‘lsa, Codebergda runneringiz “online” bo‘ladi. Endi sizning repositoriylaringizdagi workflowlar runneringizga topshiriladi.

Nima foyda?

  • Ishlar tezroq bajariladi.
  • Siz to‘liq nazorat qilasiz.
  • Codebergga yuk kamayadi.
  • Ma’lumotlaringiz o‘zingizda qoladi.
  • O‘zingiz kerakligicha o‘zgartirib, kengaytirishingiz mumkin.

Xulosa

O‘z runneringizni o‘rnatish oddiy loyiha bo‘lib, darhol foyda beradi. Agar Codeberg ishlatayotgan bo‘lsangiz, bu keyingi qadam. CI/CD ni to‘liq nazorat qilish imkonini beradi.

Read in other languages:

RU BG EL CS TR SV FI RO PT PL NB NL HU IT FR ES DE DA ZH-HANS EN