Advertisement
Guest User

Untitled

a guest
Jan 21st, 2016
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. import jenkins.*
  2. import hudson.*
  3. import com.cloudbees.plugins.credentials.*
  4. import com.cloudbees.plugins.credentials.common.*
  5. import com.cloudbees.plugins.credentials.domains.*
  6. import com.cloudbees.jenkins.plugins.sshcredentials.impl.*
  7. import hudson.plugins.sshslaves.*;
  8. import hudson.model.*
  9. import jenkins.model.*
  10. import hudson.security.*
  11.  
  12. global_domain = Domain.global()
  13. credentials_store =
  14. Jenkins.instance.getExtensionList(
  15. 'com.cloudbees.plugins.credentials.SystemCredentialsProvider'
  16. )[0].getStore()
  17.  
  18. credentials = new BasicSSHUserPrivateKey(CredentialsScope.GLOBAL,null,"root",new BasicSSHUserPrivateKey.UsersPrivateKeySource(),"","")
  19.  
  20. credentials_store.addCredentials(global_domain, credentials)
  21.  
  22. def hudsonRealm = new HudsonPrivateSecurityRealm(false)
  23. def adminUsername = System.getenv('JENKINS_ADMIN_USERNAME') ?: 'admin'
  24. def adminPassword = System.getenv('JENKINS_ADMIN_PASSWORD') ?: 'password'
  25. hudsonRealm.createAccount(adminUsername, adminPassword)
  26. //hudsonRealm.createAccount("charles", "charles")
  27.  
  28. def instance = Jenkins.getInstance()
  29. instance.setSecurityRealm(hudsonRealm)
  30. instance.save()
  31.  
  32.  
  33. def strategy = new GlobalMatrixAuthorizationStrategy()
  34.  
  35. // Slave Permissions
  36. //strategy.add(hudson.model.Computer.BUILD,'charles')
  37. //strategy.add(hudson.model.Computer.CONFIGURE,'charles')
  38. //strategy.add(hudson.model.Computer.CONNECT,'charles')
  39. //strategy.add(hudson.model.Computer.CREATE,'charles')
  40. //strategy.add(hudson.model.Computer.DELETE,'charles')
  41. //strategy.add(hudson.model.Computer.DISCONNECT,'charles')
  42.  
  43. // Credential Permissions
  44. //strategy.add(com.cloudbees.plugins.credentials.CredentialsProvider.CREATE,'charles')
  45. //strategy.add(com.cloudbees.plugins.credentials.CredentialsProvider.DELETE,'charles')
  46. //strategy.add(com.cloudbees.plugins.credentials.CredentialsProvider.MANAGE_DOMAINS,'charles')
  47. //strategy.add(com.cloudbees.plugins.credentials.CredentialsProvider.UPDATE,'charles')
  48. //strategy.add(com.cloudbees.plugins.credentials.CredentialsProvider.VIEW,'charles')
  49.  
  50. // Overall Permissions
  51. //strategy.add(hudson.model.Hudson.ADMINISTER,'charles')
  52. //strategy.add(hudson.PluginManager.CONFIGURE_UPDATECENTER,'charles')
  53. //strategy.add(hudson.model.Hudson.READ,'charles')
  54. //strategy.add(hudson.model.Hudson.RUN_SCRIPTS,'charles')
  55. //strategy.add(hudson.PluginManager.UPLOAD_PLUGINS,'charles')
  56.  
  57. // Job Permissions
  58. //strategy.add(hudson.model.Item.BUILD,'charles')
  59. //strategy.add(hudson.model.Item.CANCEL,'charles')
  60. //strategy.add(hudson.model.Item.CONFIGURE,'charles')
  61. //strategy.add(hudson.model.Item.CREATE,'charles')
  62. //strategy.add(hudson.model.Item.DELETE,'charles')
  63. //strategy.add(hudson.model.Item.DISCOVER,'charles')
  64. //strategy.add(hudson.model.Item.READ,'charles')
  65. //strategy.add(hudson.model.Item.WORKSPACE,'charles')
  66.  
  67. // Run Permissions
  68. //strategy.add(hudson.model.Run.DELETE,'charles')
  69. //strategy.add(hudson.model.Run.UPDATE,'charles')
  70.  
  71. // View Permissions
  72. //strategy.add(hudson.model.View.CONFIGURE,'charles')
  73. //strategy.add(hudson.model.View.CREATE,'charles')
  74. //strategy.add(hudson.model.View.DELETE,'charles')
  75. //strategy.add(hudson.model.View.READ,'charles')
  76.  
  77. // Setting Anonymous Permissions
  78. strategy.add(hudson.model.Hudson.READ,'anonymous')
  79. strategy.add(hudson.model.Item.BUILD,'anonymous')
  80. strategy.add(hudson.model.Item.CANCEL,'anonymous')
  81. strategy.add(hudson.model.Item.DISCOVER,'anonymous')
  82. strategy.add(hudson.model.Item.READ,'anonymous')
  83.  
  84. // Setting Admin Permissions
  85. strategy.add(Jenkins.ADMINISTER, "admin")
  86.  
  87. // Setting easy settings for local builds
  88. def local = System.getenv("BUILD").toString()
  89. if(local == "local") {
  90. // Overall Permissions
  91. strategy.add(hudson.model.Hudson.ADMINISTER,'anonymous')
  92. strategy.add(hudson.PluginManager.CONFIGURE_UPDATECENTER,'anonymous')
  93. strategy.add(hudson.model.Hudson.READ,'anonymous')
  94. strategy.add(hudson.model.Hudson.RUN_SCRIPTS,'anonymous')
  95. strategy.add(hudson.PluginManager.UPLOAD_PLUGINS,'anonymous')
  96. }
  97.  
  98. instance.setAuthorizationStrategy(strategy)
  99. instance.save()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement