Başlamadan önce
- Bir GitHub hesabı ve yayınlamak istediğin repo. Sahibi, ortak çalışanı ya da organizasyon üyesi olduğun repolar listelenir.
- Kule’ye eklenmiş, Dokploy kurulu bir sunucu
- GitHub yalnızca bu yol için gerekir. Bilgisayarındaki bir klasörü ya da hazır bir uygulamayı yayınlamak için bağlaman gerekmez.
1Bağlantıyı başlat
GitHub’ı iki yerden bağlayabilirsin: Ayarlar’daki Bağlantılar bölümünden ya da yeni bir yayın başlatırken GitHub’daki bir proje seçeneğinden. İkisi de aynı akışı açar.
Kule ekranda kısa bir kod gösterir ve tarayıcında github.com/login/device sayfasını açar. Kodu orada yaz ve izni onayla. Kule onayı kendiliğinden fark eder; geri dönüp bir şeye basman gerekmez.
2İstenen izinler
Onay ekranında Kule iki izin ister: repo ve read:user. read:user kim olduğunu görmek için. repo ise özel repolarını okumak, repoya bir deploy key ve bir webhook eklemek için gerekiyor.
GitHub’ın OAuth uygulamalarında özel repolar için yalnızca okuma izni yok. Deploy key ve webhook ekleyebilen en dar izin repo. Repona eklenen deploy key ise salt okunur.
3Repoyu seç
Bağlandıktan sonra repoların son push tarihine göre listelenir; arşivlenmiş repolar gösterilmez. Bir ya da birkaç repo seçip İncele’ye bas.
Kule repoyu klonlamaz. Dosya ağacını ve birkaç dosyayı GitHub’ın API’sinden okur, projenin ne olduğunu anlar ve kurulum planını gösterir. Yayın, reponun varsayılan dalından yapılır.
4Yayın ve otomatik güncelleme
Planı onayladığında Kule her repo için bir anahtar çifti üretir. Açık yarısı repoya salt okunur bir deploy key olarak eklenir; özel yarısı Dokploy’a gider, Dokploy kodu onunla çeker. Ardından repoya bir webhook eklenir: her push’ta GitHub sunucundaki Dokploy’a haber verir, uygulama yeniden yayınlanır.
İkisini de reponun GitHub ayarlarında görebilirsin: Deploy keys altında Kule · aktar gibi bir kayıt, Webhooks altında sunucunun adresine giden bir push webhook’u.
5Bağlantıyı kaldırmak
Ayarlar’da GitHub bağlantısını kaldırdığında token Keychain’den silinir. Yayındaki uygulamalar çalışmaya devam eder; push’ta yayın da sürer, çünkü deploy key ve webhook repoda kalır.
Bunları da kaldırmak istersen reponun ayarlarından deploy key’i ve webhook’u sil. İzni GitHub tarafında tamamen geri almak için GitHub hesap ayarlarındaki yetkili OAuth uygulamaları listesinden Kule’yi kaldırabilirsin.