Gitea self-hosted git servisi ve arayüzüdür. Gitea kullanarak projelerinizi kendi sunucunuzda barındırabilirsiniz. Bu yazıda pardus üzerine gitea kurulumu anlatılmaktadır.
Docker kurulumu
Gitea kurulumu için docker ortamı tercih edebiliriz. Bu sayede gitea ana sistemimizden bağımsız bir ortamda çalışabilir. Ayrıca isterseniz giteayı doğrudan sunucunuzda da çalıştırabilirsiniz.
Öncelikle bir docker kurulumu gerçekleştirelim.
apt update apt install docker.io
Şimdi de Pardus docker imajını çekelim.
docker pull pardus/yirmibir
Ardından docker container oluşturalım.
docker run -it --name gitea -p 3000:80 -v /gitea:/gitea pardus/yirmibir # -p parametresi ile 3000 portunu 80 e yönlendirdik # -v parametresi ile /gitea dizinini container içine aktardık.
Giteanın İndirilmesi
Öncelikle git ve wget paketlerini yükleyelim.
apt update apt install git wget -y
Ssh ile git kullanmak istiyorsanız openssh-server paketini yüklemelisiniz.
apt update apt install openssh-server -y
Docker içerisinde kullanıyorsanız servis yöneticisiz ssh servisi çalışmayacaktır. Servisi elle başlatmamız gereklidir.
https://dl.gitea.com/gitea/ adresinden güncel sürümünün size uygun olanını indirin ve /gitea dizinine kopyalayın.
Ardından çalıştırılabilir yapalım.
Şimdi gitea için yeni bir kullanıcı oluşturalım. /gitea dizinimizin aitliğini bu kullanıcıya verelim.
Şimdi giteayı çalıştırabiliriz.
Giteanın yapılandırılması
Gitea kurduktan sonra tarayıcımızdan girip ilk kurulum yapalım.
Docker containeri siz pencereyi kapattığınızda kapanacaktır. Bunu önlemek için öncelikle containeri kapatalım ve aşağıdaki gibi tekrar çalıştıralım.
Giteanın servis olarak çalıştırılması
Eğer docker kullanmıyorsanız screen komutu ile aynı şekilde arkada çalışmasını sağlayabilirsiniz.
# oturum açalım screen -S gitea su gitea -c ./gitea-1.20.0-linux-amd64 # ctrl-a + d yaparak oturumu arkaya atabiliriz. # oturumları listeleyelim screen -ls # oturuma girelim screen -r xxxx
Veya bunun yerine aşağıdaki gibi bir systemd servisi yazıp çalıştırabiliriz. Aşağıdaki servis dosyasını /lib/systemd/system konumuna kaydedip sonra servisi başlatalım.
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target [Service] RestartSec=2s Type=notify User=gitea Group=gitea WorkingDirectory=/gitea ExecStart=/gitea/gitea-1.20.1-linux-amd64 Restart=always [Install] WantedBy=multi-user.target
systemctl enable gitea.service systemctl start gitea.service
Gitea actions ile CI kurulumu
Öncelikle custom/conf/app.ini dosyamızdan actions etkinleştirelim. Bu özellik varsayılan olarak açık gelmemektedir. Aşağıdaki ayarı dosyanın sonuna ekleyin.
[actions] ENABLED=true
Şimdi ise https://dl.gitea.com/act_runner adresinden son sürümü ve mimarimize uygun olanı indirelim.
act_runner çalıştırmak için işlem gücü yüksek farklı bir sunucu kullanabiliriz. Gitea ile aynı makina üzerinde çalışma zorunluluğu bulunmamaktadır. Ayrıca birden fazla runner ekleyerek iş gücünü sunucular arasında dağıtabilirsiniz.
Not: Eğer act_runner uygulamasını docker içerisinde çalıştıracaksak https://docs.gitea.com/next/usage/actions/act-runner#register-the-runner-with-docker adresinden detaylı bilgi alabilirsiniz.
Gitea arayüzünden token alalım.
Şimdi act_runner uygulamamızda bu tokeni kullanarak register işlemi yapalım.
# instance değeri sunucunun adresi olmalıdır. # token değeri andığımız token değeridir. ./act_runner-0.2.3-linux-amd64 register --no-interactive --instance <instance> --token <token>
Not: act_runner ayarlarını daha sonra isterseniz .runner dosyasından değiştirebilirsiniz.
Daha sonra act_runner uygulamamızı servis olarak çalıştıralım.
./act_runner-0.2.3-linux-amd64 daemon
Gitea Action Kullanımı
Actions kullanmak için öncelikle repo ayarlarından etkinleştirmemiz gerekmektedir.
Ardından projemiz içerisine aşağıdaki gibi bir talimat yazabiliriz.
Ardından actions menüsünden çalışma durumunu görüntüleyebilirsiniz.
Kaynakça
https://docs.gitea.com/next/installation/install-from-binary
https://github.com/go-gitea/gitea/blob/main/contrib/systemd/gitea.service