Soru Yetkilendirme Hudson / Jenkins nasıl yapılır?


Yükleme ve civciv ile oynadıktan sonra, projemi oluşturabilmesi için Hudson'yı depoyu klonlamaya çalışıyorum.

Şu anda aşağıdaki görev çalışır.

  • Harici ana bilgisayarımla senkronizasyon yapabilir ve bu ana bilgisayarda kod görünür.

Şimdi ev sahibi üzerinde kod erişmek için hudson / jenkins yapılandırmaya çalışıyorum.

Fakat maalesef bir hatayla karşılaşıyorum:

Started by user anonymous
$ hg clone --rev default https://bitbucket.org/*/testproject "F:\Hudson\jobs\testproject\workspace"
abort: http authorization required
ERROR: Failed to clone https://bitbucket.org/*/testproject
[workspace] $ hg log --rev . --template {node}
java.io.IOException: Cannot run program "hg" (in directory "F:\Hudson\jobs\testproject\workspace"): CreateProcess error=267, The directory name is invalid
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at hudson.Proc$LocalProc.<init>(Proc.java:244)
    at hudson.Proc$LocalProc.<init>(Proc.java:216)
    at hudson.Launcher$LocalLauncher.launch(Launcher.java:698)
    at hudson.Launcher$ProcStarter.start(Launcher.java:329)
    at hudson.Launcher$ProcStarter.join(Launcher.java:336)
    at hudson.plugins.mercurial.MercurialSCM.joinWithPossibleTimeout(MercurialSCM.java:298)
    at hudson.plugins.mercurial.HgExe.popen(HgExe.java:191)
    at hudson.plugins.mercurial.HgExe.tip(HgExe.java:171)
    at hudson.plugins.mercurial.MercurialSCM.calcRevisionsFromBuild(MercurialSCM.java:254)
    at hudson.scm.SCM._calcRevisionsFromBuild(SCM.java:304)
    at hudson.model.AbstractProject.calcPollingBaseline(AbstractProject.java:1186)
    at hudson.model.AbstractProject.checkout(AbstractProject.java:1175)
    at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:523)
    at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:418)
    at hudson.model.Run.run(Run.java:1362)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
    at hudson.model.ResourceController.execute(ResourceController.java:88)
    at hudson.model.Executor.run(Executor.java:145)
Caused by: java.io.IOException: CreateProcess error=267, The directory name is invalid
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
    at java.lang.ProcessImpl.start(ProcessImpl.java:30)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
    ... 18 more
Finished: FAILURE

Hudson'ın verilere erişmek için kullanıcı adı x ve parola y'yi kullanmasını söylemek için ne gibi eylemlere ihtiyacım var?

Düzenlenen => Ssh nasıl entegre edildi.


21
2018-04-02 19:06


Menşei


"Ssh'i nasıl bütünleştireceğimi" nasıl anlatabilir misiniz? Benzer bir hatam var. - Maciek Sawicki


Cevaplar:


Https yerine SSH kullanıldı

PuTTY web sitesinden putty.exe, puttygen.exe, pageant.exe ve plink.exe dosyasını indirin. Puttygen'i başlatın ve bir anahtar oluşturun OPENSSH FORMAT (hudsons formatı) (=> Svn + SSH nasıl kullanılır )

Özel anahtarı kaydet düğmesini tıklayın ve .PPK dosyasını bir yere kaydedin. Ortak anahtarı kaydet düğmesini tıklayın ve kaydedin.

Web sitenize gidin ve genel ssh anahtarını girin

Pageant.exe dosyasını çalıştırın. Durum tepsisindeki pageant simgesi (şapka takan bir bilgisayar) görünecektir.

Pageant simgesini sağ tıklayın ve Anahtar Ekle'yi seçin. Daha önce kaydettiğiniz .PPK dosyasını seçin ve parolasını yazın.

Aşağıdakiler (son kısım kopyalanır) Ted Naleid'den (Teşekkürler!) Blog cadısı burada bulunabilir: Hudson'a takılmak ...

Hudson'daki Mercurial eklentisini yükleyin

Artık yapacak tek şey yüklemek   hudson'daki Mercurial eklentisi. İçinde   tarayıcısına git    http: // INSERT_YOUR_IP_HERE: 8080.   Hudson gelmeli.

“Hudson'ı Yönet” e tıklayın ve   “Eklentileri Yönet”. Git   “Uygun” sekmesi, “Hudson'ı kontrol et   Mercurial eklenti ”ve   “Yükle” butonu. Hudson isteyecek   yeniden başlatırsın ve sonra   Kurulmuş.

Bundan sonra, sadece yeni bir iş yaratın ve   yeni bir "mercurial" seçeneğiniz olacak   “kaynak kontrol yönetiminde”   Bölüm. Bunu seç ve ssh koy   “Repository URL” alanındaki URL.   Sonra “şubeye” “varsayılan” koy   işin geri kalan kısmını kurmak ve kurmak   kodunuzu oluşturmak / test etmek (bir egzersiz   okuyucuya bırakıldı).

ve burada ilk başarılı yapı! First succefull build

Sonuç: Bu, internetin etrafına yayılmış küçük blog bloglarının bir özetidir. Umarım bu yazı, hudson ve mercurial'in başlamasında size yardımcı olur.


17
2018-04-03 09:16





Problemin kullanıcı adı ve şifre ile ilgili olmadığını düşünüyorum. Stacktrace, yolunda bir sorun olduğunu söyledi. F:\Hudson\jobs\testproject\workspace.

Program hg çalıştırılamıyor (dizinde   "F: \ Hudson \ işler \ TestProject \ çalışma alanı")

Dizin adı geçersiz

Neyse, URL'deki kullanıcı adı ve şifreyi belirtebilirsiniz: http://user:password@mydomain.org.


6
2018-04-02 21:26





Jenkins / Hudson Mercurial eklentisini BitBucket ile doğrulamak için, özellikle de HTTPS yerine SSH protokolünü kullanmam çok yararlı oldu:

  1. HTTPS kimlik bilginizi Mercurial Jenkins eklentisi ile BitBucket'e kaydetmenin bir yolu yoktur, ancak SSH ile kimlik bilgilerinizi güvenli ve güvenli bir şekilde saklayabilirsiniz.

  2. SSH ile, Mercurial'ın doğal olarak yapmadığı sıkıştırmayı kullanacak şekilde yapılandırabilirsiniz.

BitBucket'e SSH erişimini kurmak için iyi talimatlar burada mevcuttur: http://confluence.atlassian.com/display/BITBUCKET/Using+SSH+to+Access+your+Bitbucket+Repository

Notlar:

  • Jenkins / Hudson'ı bir * nix sunucusunda çalıştırıyorsanız, Jenkins işlemini çalıştıran kullanıcı olarak oturum açmayı ve bu işlemleri bu kullanıcıların giriş dizininden gerçekleştirmeyi isteyeceksiniz. Bu nedenle, yapılandırmalar bu kullanıcı tarafından bulunacaktır (ör. Debian sunucumda) Jenkins'in tek başına kurulması, 'jenkins' kullanıcısı oluşturuldu ve ana dizin '/ var / lib / jenkins' olarak ayarlandı [değil / home / jenkins] - yukarıdaki bağlantıda verilen talimatları uygularım).

  • Jenkins'in çağırmasını denemeden önce, komut satırından çalıştığı hg clone komutunu temin etmeyi çok yararlı buldum.

  • ÖNEMLİ: Bunu işe almak için, bir anahtar ** olmadan bir parola oluşturmak zorunda kaldım.


3
2017-11-11 14:48





Aşağıdaki satırları jenkins .hgrc dosyasına ekleyebilirsiniz (genellikle /var/lib/jenkins/.hgrc)

[auth]
bitbucket.prefix = https://bitbucket.org/your_user/...
bitbucket.username = your_user
bitbucket.password = ******

Görmek http://www.selenic.com/mercurial/hgrc.5.html#auth


2
2018-01-20 20:40



Bu benim için çözüm oldu. Windows kurulumumda .hgrc dosyası bu klasörde gizlenmişti, başka biri arıyorsa: C: \ Program Files (x86) \ Jenkins \ workspace \ <proje klasörünüz> \. Hg Eğer proje klasörünüz burada yoksa daha sonra, Jenkins'i sizin için ayarlamasını sağlamak için ilk yapıyı yapmayı deneyin. - Richard Reddy
Yol değişti ve bu arada jenkins / jobs / <proje klasörünüz> /workspace/.hg, ama civciv eklentisi bir Credentials bölüm de. - jan


Scm kimlik bilgilerinizi Jenkins'in 'Kimlik Bilgileri' bölümüne ekleyebilirsiniz:

enter image description here

Ayrıca kimlik bilgilerini kullanmak için iş yapılandırmasını değiştirin:

enter image description here


1
2017-11-23 13:31