2017-06-09 31 views
11

Active Directory plugin ile oturum açarak birden fazla kullanıcıyla bir jenkins kurulum var. Bu, her kullanıcının kendi görevlerine erişebilmesi için kullanışlıdır.jenkins slave kullanıcı olarak çalışır

Ancak, her kullanıcının farklı ağlara erişim gibi yerel ağda da farklı izinleri vardır. Her bir göreve verilen izinlerin kullanıcıya bağlı değil, kölenin çalıştığı hesaba bağlı olduğunu fark ettim. hizmet olarak Görevin değiştirilmesinin bir yolu var mıdır, böylece görev köle üzerinde kullanıcının kimlik bilgisi (ve dolayısıyla izinleri) altında yürütülür?

size

cevap

4

ederiz sorundur: Jenkins usta tarafından söz konusu sunucuya atanan farklı bir iş çalıştıran tek köle süreci vardır.
Yani kölenin kendisi bir kullanıcı (genellikle, özel bir hesap veya sistem hesabı) olarak çalışır.

Kullanıcı kimliğini ortam değişkeni olarak alabileceğinizden (bir eklenti ile JENKINS Build User Vars Plugin), yapıyı tetikleyen kullanıcıyı "çalıştır" olarak oluşturmak için adımı yapılandırmak üzere işi yapılandırabilirsiniz. Örneğin, JENKINS Authorize Project plugin örneğine bakın. Ancak

https://wiki.jenkins-ci.org/download/attachments/70877566/authorization-page.png?version=1&modificationDate=1486871612000&api=v2

https://wiki.jenkins-ci.org/download/attachments/70877566/authorize-project_01_globalsecurity.png?version=2&modificationDate=1439085782000&api=v2

, mentioned this answer olarak:

komutları çalıştıran işletim seviyesi kullanıcıyı değişmez "Yetki Projesi" eklentisi.
Yalnızca Jenkins kimlik doğrulamasını (her ne olursa olsun) kullanarak işi çalıştıran Jenkins kullanıcısını ve alt işlerini ayarlar.

Yani görevin doğru kullanıcı ile çalışıyor mu emin olmak için build step with runas or su -c commands kalır.

+0

Windows runas için, bkz. Http://jenkins-ci.361315.n4.nabble.com/Error-running-Windows-batch-file-via-build-step-td4570615.html ve/savecred seçeneği. – VonC

0

Benzer bir sorunla karşılaştım ve projeler üzerinde daha fazla denetim yönetmek için çağırabilirim. role strategy plugin kullandım ve LDAP sunucularını kullanarak genel güvenliği ayarladım (Active directory de tamam olmalı). Ve ben authorized project plugin kullandım. Bir göz atın ve umarım amacınızı çözmelidir. Herhangi bir açıklama için yorum bölümünde bana bildirin.

+1

Maalesef "Yetkilendirmek-proje eklentisi sadece Jenkins'in yetkilerini değil, işletim sistemlerini denetler." – RockScience