Github'u Gitlab'a aynala


11

Yerel bir gitlab'de nova ( https://github.com/openstack/nova ) projesinin bir kopyasını oluşturdum .

Yerel nova deposunu github ile senkronize halde nasıl tutabilirim, saatte veya günde bir kez güncellenebilir?

Burada bitnami için açıklananlara benzer bir çözüm istiyorum: http://wiki.bitnami.com/Applications/BitNami_GitLab#Keeping_in_sync_with_the_GitLab_repository_at_GitHub

(Devstack'u openstack'i kurmak için kullandım.)

Yanıtlar:


6

GitLab artık bu özelliğe sahiptir!
GitLab EE 8.2'den beri desteklenmektedir . Yaşasın!

Uzak bir depodan çekme

Şubelerini, etiketlerini ve işlemlerini yukarı akış deposundan otomatik olarak güncelleştirmek için bir havuz ayarlayabilirsiniz.
...

Yeni bir proje oluştururken, havuzu "URL'ye göre herhangi bir repo" dan içe aktarmayı seçtiğinizde depo yansıtmayı etkinleştirebilirsiniz. Çekilecek Git deposunun tam URL'sini girin ve Ayna deposunu onay kutusunu tıklayın.

GitLab otomatik yansıtma

Mevcut bir proje için, projenizin Ayarlar os Deposunu ziyaret edip "Uzak bir depodan çekin" bölümünü arayarak ayna çekme özelliğini ayarlayabilirsiniz . "Ayna deposu" kutusunu işaretleyin ve alttaki Değişiklikleri kaydet'i tıklayın .
...


1
Örnekleri gitlab kullanıyor, o kısmı Github ile değiştirdikten sonra tam olarak takip ettim ve güncelleme şey asla
bitmiyor

@MarcusJ Tam olarak aynı burada, bir çözüm buldunuz mu?
MemphiZ

Bunu yapmak zorunda olduğumdan beri bir süredir, ama yaptığım şey ssh url'sini ssh: //git@gitlab.com: KullanıcıAdı: RepoName.git
MarcusJ

Bu işi yaptım, repo'nuz herkese açıksa github'dan gitlab'a çekmek kolaydır, sadece bu URL'yi gitlab ayarlarına yapıştırın:, https://github.com/yourGithubUserName/repoName.gitsonra açılan kutudaki Şifre yöntemini seçin ve şifre metin
kutusunu

4

Hiçbir zaman yerel taahhütlere ihtiyacınız yoksa , aşağıdaki tarif işe yarayacaktır:

Repoyu klonlayın --mirror:

git clone --mirror https://github.com/openstack/nova.git

Sonra bir cronjob, bunu saatlik bir güncelleme için yaparsınız:

0 * * * * cd /path/to/nova.git && git fetch

--mirrorEğer değişiklikleri birleştirmeye gerek kalmaz müteakip getirmeler, tüm yerel ref güncelleyecek şekilde de refspecs yukarı setleri. O repo itilmiş kaydedilmesini kaybolur Bu ne anlama geliyor Elbette.


Bu, GitLab'da bir ayna elde etmek için soruyu cevaplıyor gibi görünmüyor.
Ken Williams


0

Repoyu güncellemek için bir cron işi oluşturun


Gitlab'de nasıl ayar yapılır?
user186107

2
Sorunuzu istediğiniz ayrıntılarla, denediklerinizle ve sorunun tam olarak ne olduğu ile güncelleyin.
Drew Khoury

0

Bunu cron işlerini kullanarak yapabilirsiniz .

Terminal türünüze crontab -e(crontab'ınızı düzenlemek için) ve aşağıya aşağıdakilerle yeni bir satır ekleyin.

* 0 * * * git clone ssh://username@hostname:port/repo

Gece yarısında her gün bir klon çalışacaktır.


Umarım artımlı güncellemelerdir. tekrar indirmeye gerek yok.
user186107
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.