Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
JenkinsÅäÖûùÓÚ½ÇÉ«µÄÏîĿȨÏÞ¹ÜÀí
 
×÷Õߣº£ºÃ»Í·ÄÔµÄÍÁ¶¹ À´Ô´£º²©¿ÍÔ° ·¢²¼ÓÚ 2015-10-27
  4936  次浏览      28
 

±¾ÎĽ«½éÉÜÈçºÎÅäÖÃjenkins£¬Ê¹Æä¿ÉÒÔÖ§³Ö»ùÓÚ½ÇÉ«µÄÏîĿȨÏÞ¹ÜÀí¡£

ÓÉÓÚjenkinsĬÈϵÄȨÏÞ¹ÜÀíÌåϵ²»Ö§³ÖÓû§×é»ò½ÇÉ«µÄÅäÖã¬Òò´ËÐèÒª°²×°µÚÈý·¢²å¼þÀ´Ö§³Ö½ÇÉ«µÄÅäÖ㬱¾ÎĽ«Ê¹ÓÃRole Strategy Plugin£¬½éÉÜÒ³Ãæ£ºhttps://wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

Ò»¡¢ÅäÖòå¼þ

°²×°²å¼þºó£¬½øÈëϵͳÉèÖÃÒ³Ãæ£¬ÅäÖÃÈçÏ£º

¹ÙÍøÉϰ²È«ÓòÉèÖÃΪServletÈÝÆ÷´úÀí£¬Êµ¼Ê²Ù×÷·¢ÏÖJenkinsרÓÐÓû§Êý¾Ý¿âÒ²ÊÇ¿ÉÒԵġ£

¶þ¡¢ÅäÖÃȨÏÞ

ÔÚϵͳ¹ÜÀíÒ³Ãæµã»÷Manage and Assign Roles½øÈë½ÇÉ«¹ÜÀíÒ³Ãæ£º

1¡¢¹ÜÀí½ÇÉ«£¨Manage Roles£©

Ñ¡Ôñ¸ÃÏî¿ÉÒÔ´´½¨È«¾Ö½ÇÉ«¡¢ÏîÄ¿½ÇÉ«£¬²¢¿ÉÒÔΪ½ÇÉ«·ÖÅäȨÏÞ¡£

ÈçÉÏͼ£¬·Ö±ð´´½¨ÁËadmin¡¢anonymousÁ½¸öÈ«¾Ö½ÇÉ«£¬Online Program¡¢testÁ½¸öÏîÄ¿½ÇÉ«¡£

ÏîÄ¿½ÇÉ«ÓëÈ«¾Ö½ÇÉ«µÄÇø±ð¾ÍÊÇ£¬ÏîÄ¿½ÇɫֻÄܹÜÀíÏîÄ¿£¬Ã»ÓйÜÀíjenkinsµÄȨÏÞÅäÖá£

Ìí¼ÓÏîÄ¿½Çɫʱ£¬ÐèÒªÖÆ¶¨Æ¥ÅäÏîÄ¿µÄģʽ£¬ÈçÉÏͼÖеÄPattern£¬¹Ù·½Îĵµ½éÉܸÃÑ¡ÏîÖ§³ÖÕýÔò±í´ïʽ£¬Èç¡°Roger-.¡±±íʾËùÓÐÒÔRoger-¿ªÍ·µÄÏîÄ¿£¬¡°(?i)roger-.*¡±±íʾÒÔroger-¿ªÍ·µÄÏîÄ¿²¢ÇÒ²»Çø·Ö´óСд£¬ÈçÒÔABC¿ªÍ·µÄÏîÄ¿¿ÉÒÔÅäÖÃΪ¡°ABC|ABC.*¡±£¬Ò²¿ÉÒÔʹÓá°abc|bcd|efg¡±Ö±½ÓÆ¥Åä¶à¸öÏîÄ¿¡£

2¡¢´´½¨Óû§

ÔÚ·ÖÅä½Çɫ֮ǰÐèÒªÏÈ´´½¨Óû§¡£

ÔÚϵͳ¹ÜÀíÒ³Ãæ£¬µã»÷¹ÜÀíÓû§£º

µã»÷н¨Ê¹ÓÃÕß¿ÉÒÔ´´½¨ÐÂÓû§£¬Èç¹û֮ǰÓÐÏîÄ¿Óëscm°æ±¾¹ÜÀíϵͳ£¨Èçsvn¡¢gitµÈ£©Á¬½Ó²¢»ñȡԴÂë¹¹½¨¹ý£¬jenkins»á´ÓsvnÖжÁÈ¡µ½Ò»Ð©Óû§ÐÅÏ¢£¬¿ÉÒÔÔڲ鿴Óû§²Ëµ¥Öп´µ½ÕâЩÓû§£º

µã»÷Óû§id»òÃû³Æ¶¼¿ÉÒÔÐÞ¸ÄÓû§ÐÅÏ¢¡£

3¡¢·ÖÅä½ÇÉ«£¨Assign Roles£©

Ñ¡ÔñAssign Roles¿ÉÒÔΪÓû§·ÖÅäËùÊô½ÇÉ«£¬¿ÉÒÔ·ÖÅäÈ«¾Ö½ÇÉ«ºÍÏîÄ¿½ÇÉ«¡£

ÈçÉÏͼ£¬½«²»Í¬µÄÓû§·Ö±ð·ÖÅ䏸²»Í¬µÄ½ÇÉ«£¬ÕâÑùÓû§¾Í¿ÉÒÔ¾ßÓнÇÉ«ËùÓµÓеÄȨÏÞ¡£

Èý¡¢ÉîÈëÁ˽â

¸Ã²å¼þ´Ó2011Äê10Ô·¢²¼1.1.2°æ±¾ºó¾Í²»ÔÙά»¤ÁË£¬Òò´Ë»áÓÐһЩСÎÊÌ⣬µ«²»Ó°ÏìʹÓ㬱ÈÈçÔÚ·ÖÅä½ÇÉ«ºóµã»÷±£´æ°´Å¥Ê±ÓпÉÄܻᷢÉúÒì³££¬ä¯ÀÀÆ÷µã»÷ºóÍ˰´Å¥ºóÖØÐÂÌá½»¾Í¿ÉÒÔ²Ù×÷³É¹¦¡£

ÁíÍâÈç¹ûÅäÖÃʧ°Üµ¼Ö²»ÄܵǼ£¬¿ÉÒÔͨ¹ýÐÞ¸ÄÅäÖÃÎļþ»Ö¸´³õʼÉèÖá£

Ê×ÏÈÁ˽âÒ»ÏÂÅäÖÃÎļþ¡£

½øÈëjenkins°²×°Ä¿Â¼£¬Óû§ÅäÖÃÐÅÏ¢ºÍ½ÇÉ«ÅäÖÃÐÅÏ¢¶¼ÒÔÅäÖÃÎļþµÄÐÎʽ´æ´¢¡£

ÉÏͼÖÐusersĿ¼´æ·ÅÁ˸÷¸öÓû§µÄÅäÖÃÐÅÏ¢£¬Ã¿¸öÓû§¶¼»á´´½¨ÓëÓû§ÃûÏàͬµÄÎļþ¼Ð£¬Îļþ¼ÐÖаüº¬config.xmlÎļþ£¬ÅäÖÃʾÀýÈçÏ£º

<?xml version='1.0' encoding='UTF-8'?>
<user>
<fullName>admin</fullName>
<properties>
<jenkins.security.ApiTokenProperty>
<apiToken>EfowsOP9H5arYxMmuFrbPjjITgu/fjtvHib5okFJ9DmPTu/088cvHxlE9RHwVv+S</apiToken>
</jenkins.security.ApiTokenProperty>
<hudson.model.MyViewsProperty>
<views>
<hudson.model.AllView>
<owner class="hudson.model.MyViewsProperty" reference="http://www.cnblogs.com/.."/>
<name>All</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
</hudson.model.AllView>
</views>
</hudson.model.MyViewsProperty>
<hudson.search.UserSearchProperty>
<insensitiveSearch>false</insensitiveSearch>
</hudson.search.UserSearchProperty>
<hudson.security.HudsonPrivateSecurityRealm_-Details>
<passwordHash>uAEYii:02e0cd0d78abf90e42b28e7d3d4fe64776ae8fa9500e379f2598cc65e1b0fb70</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>
<hudson.tasks.Mailer_-UserProperty>
<emailAddress>gaoliang@esrichina.com.cn</emailAddress>
</hudson.tasks.Mailer_-UserProperty>
</properties>

</user>

½ÇÉ«ÅäÖÃÔÚ$Jenkins_home/config.xmlÎļþÖУ¬Ê¾ÀýÈçÏ£º

<useSecurity>true</useSecurity>
<authorizationStrategy class="com.michelin.cio.hudson.plugins.rolestrategy.RoleBasedAuthorizationStrategy">
<roleMap type="globalRoles">
<role name="admin" pattern=".*">
<permissions>
<permission>hudson.model.Hudson.Read</permission>
<permission>hudson.model.Hudson.Administer</permission>
<permission>hudson.model.View.Delete</permission>
<permission>hudson.model.Computer.Create</permission>
<permission>hudson.model.Computer.Delete</permission>
<permission>hudson.model.Hudson.RunScripts</permission>
<permission>hudson.model.View.Read</permission>
<permission>hudson.model.Run.Update</permission>
<permission>hudson.model.Item.Workspace</permission>
<permission>hudson.model.Computer.Connect</permission>
<permission>hudson.model.Computer.Configure</permission>
<permission>hudson.model.Item.Cancel</permission>
<permission>hudson.model.Item.Configure</permission>
<permission>hudson.model.Item.Discover</permission>
<permission>hudson.model.Item.Create</permission>
<permission>hudson.model.View.Configure</permission>
<permission>hudson.model.Computer.Disconnect</permission>
<permission>hudson.model.Item.Delete</permission>
<permission>hudson.model.Item.Read</permission>
<permission>hudson.model.Item.Build</permission>
<permission>hudson.model.Run.Delete</permission>
<permission>hudson.model.View.Create</permission>
<permission>hudson.scm.SCM.Tag</permission>
</permissions>
<assignedSIDs>
<sid>admin</sid>
</assignedSIDs>
</role>
<role name="anonymous" pattern=".*">
<permissions>
<permission>hudson.model.Hudson.Read</permission>
</permissions>
<assignedSIDs>
<sid>anonymous</sid>
</assignedSIDs>
</role>
</roleMap>
<roleMap type="projectRoles">
<role name="Online Program" pattern="GeoQPortal|GeoQUserPortal">
<permissions>
<permission>hudson.model.Item.Read</permission>
<permission>hudson.model.Item.Build</permission>
<permission>hudson.model.Run.Delete</permission>
<permission>hudson.model.Item.Workspace</permission>
<permission>hudson.model.Run.Update</permission>
<permission>hudson.scm.SCM.Tag</permission>
<permission>hudson.model.Item.Cancel</permission>
<permission>hudson.model.Item.Discover</permission>
</permissions>
<assignedSIDs>
<sid>caox</sid>
<sid>wangwh</sid>
<sid>yuh</sid>
<sid>chenjj</sid>
<sid>lim</sid>
<sid>zhangy</sid>
</assignedSIDs>
</role>
<role name="test" pattern="Compress">
<permissions>
<permission>hudson.model.Item.Delete</permission>
<permission>hudson.model.Item.Read</permission>
<permission>hudson.model.Item.Build</permission>
<permission>hudson.model.Run.Delete</permission>
<permission>hudson.model.Item.Workspace</permission>
<permission>hudson.model.Run.Update</permission>
<permission>hudson.scm.SCM.Tag</permission>
<permission>hudson.model.Item.Cancel</permission>
<permission>hudson.model.Item.Configure</permission>
<permission>hudson.model.Item.Discover</permission>
</permissions>
<assignedSIDs>
<sid>wangwh</sid>
</assignedSIDs>
</role>
</roleMap>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>false</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>

Èç¹û·¢ÉúÓû§²»ÄܵǼµÄÇé¿ö£¬¿ÉÒÔ³¢ÊÔÒÔϼ¸ÖÖ·½·¨½â¾ö

1¡¢·½·¨1

ɾ³ýÓû§Ïà¹ØµÄĿ¼

ÐÞ¸Ä$Jenkins_home/config.xmlÎļþ£º<useSecurity>false</useSecurity>

ɾ³ýauthorizationStrategy¡¢securityRealm½Úµã

ÖØÐÂÆô¶¯Jenkins

ʹÓø÷½·¨½«É¾³ýJenkinsµÄȨÏÞ¹ÜÀí£¬»Ö¸´³ÉΪ³õʼ״̬¡£

2¡¢·½·¨2

ÐÞ¸Ä$Jenkins_home/config.xmlÎļþ£¬ÐÞ¸ÄÊÚȨ·½Ê½ÎªÏµÍ³×Ô´øµÄ°²È«¾ØÕó·½Ê½

authorizationStrategy½ÚµãclassÊôÐÔÐÞ¸ÄΪhudson.security.GlobalMatrixAuthorizationStrategy

ÅäÖÃʾÀýÈçÏ£¬¸ÃʾÀýÊÇ·ÖÅ䏸adminÓû§ËùÓÐȨÏÞ

<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">
<permission>hudson.model.Computer.Configure:admin</permission>
<permission>hudson.model.Computer.Connect:admin</permission>
<permission>hudson.model.Computer.Create:admin</permission>
<permission>hudson.model.Computer.Delete:admin</permission>
<permission>hudson.model.Computer.Disconnect:admin</permission>
<permission>hudson.model.Hudson.Administer:admin</permission>
<permission>hudson.model.Hudson.Read:admin</permission>
<permission>hudson.model.Hudson.Read:anonymous</permission>
<permission>hudson.model.Hudson.RunScripts:admin</permission>
<permission>hudson.model.Item.Build:admin</permission>
<permission>hudson.model.Item.Cancel:admin</permission>
<permission>hudson.model.Item.Configure:admin</permission>
<permission>hudson.model.Item.Create:admin</permission>
<permission>hudson.model.Item.Delete:admin</permission>
<permission>hudson.model.Item.Discover:admin</permission>
<permission>hudson.model.Item.Read:admin</permission>
<permission>hudson.model.Item.Workspace:admin</permission>
<permission>hudson.model.Run.Delete:admin</permission>
<permission>hudson.model.Run.Update:admin</permission>
<permission>hudson.model.View.Configure:admin</permission>
<permission>hudson.model.View.Create:admin</permission>
<permission>hudson.model.View.Delete:admin</permission>
<permission>hudson.model.View.Read:admin</permission>
<permission>hudson.scm.SCM.Tag:admin</permission>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>false</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>

ÖØÐÂÆô¶¯Jenkins

ʹÓø÷½·¨Jenkins½«»Ö¸´Îª°²È«¾ØÕó·½Ê½ÊÚȨ¡£

   
4936 ´Îä¯ÀÀ       28
Ïà¹ØÎÄÕÂ

ΪʲôҪ×ö³ÖÐø²¿Êð£¿
ÆÊÎö¡°³ÖÐø½»¸¶¡±£ºÎå¸öºËÐÄʵ¼ù
¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
³ÖÐø¼¯³É¹¤¾ßµÄÑ¡Ôñ-×°ÔØ
Ïà¹ØÎĵµ

³ÖÐø¼¯³É½éÉÜ
ʹÓÃHudson³ÖÐø¼¯³É
³ÖÐø¼¯³ÉÖ®-ÒÀÀµ¹ÜÀí
IPD¼¯³É²úÆ·¿ª·¢¹ÜÀí
Ïà¹Ø¿Î³Ì

ÅäÖùÜÀí¡¢ÈÕ¹¹½¨Óë³ÖÐø¼¯³É
Èí¼þ¼Ü¹¹Éè¼Æ·½·¨¡¢°¸ÀýÓëʵ¼ù
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
»ùÓÚAndroidµÄµ¥Ôª¡¢ÐÔÄܲâÊÔ
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

¼¯³ÉÓë¹¹½¨Ö¸ÄÏ
ÏîÄ¿¹ÜÀí:MavenÈÃÊÂÇé±äµÃ¼òµ¥
³ÖÐø¼¯³É¹¤¾ßhudson
³ÖÐø¼¯³É
MavenȨÍþÖ¸ÄÏ
³ÌÐò¼¯(UMLÖеİü)Ö®¼äÑ­»·


²úÆ··¢²¼¹ÜÀí
ÅäÖùÜÀí·½·¨¡¢Êµ¼ù¡¢¹¤¾ß
¶à²ã´Î¼¯³ÉÅäÖùÜÀí
ʹÓÃCCÓëCQ½øÐÐÏîĿʵ¼ù
CVSÓëÅäÖùÜÀí
Subversion¹ÜÀíÔ±


º£º½¹É·Ý ÖØ¹¹¼°³ÖÐø¼¯³É
µçÑлªÔ´ Éè¼ÆÔ­Àí¡¢½¨Ä£ÓëÖØ¹¹
Èí¼þÅäÖùÜÀíÈÕ¹¹½¨¼°³ÖÐø¼¯³É
µ¥Ôª²âÊÔ¡¢Öع¹¼°³ÖÐø¼¯³É
ÖйúÈí¼þÑз¢ÖÐÐÄ µ¥Ôª²âÊÔÓëÖØ¹¹
µ¥Ôª²âÊÔ¡¢Öع¹ºÍ³ÖÐø¼¯³Éʵ¼ù
ÂÞ¿ËΤ¶û C++µ¥Ôª²âÊÔ+ÖØ¹¹+Gtest