문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
ci:jenkins:groovy_hook [2021/03/30 17:01] kwon37xi |
ci:jenkins:groovy_hook [2021/06/07 14:25] kwon37xi [자동 admin 생성] |
||
---|---|---|---|
줄 3: | 줄 3: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * 출력은 ''/ | ||
* see [[ci: | * see [[ci: | ||
+ | ===== 자동 admin 생성 ===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | <code groovy> | ||
+ | import jenkins.model.* | ||
+ | import hudson.security.* | ||
+ | |||
+ | def instance = Jenkins.getInstance() | ||
+ | // System.getenv(" | ||
+ | File adminCreatedMarker = new File("/ | ||
+ | println "mark file path : $adminCreatedMarker" | ||
+ | |||
+ | if (adminCreatedMarker.exists()) { | ||
+ | println "admin user already exists. skip creating user." | ||
+ | } else { | ||
+ | def hudsonRealm = new HudsonPrivateSecurityRealm(false) | ||
+ | println "admin does not exists. creating admin...." | ||
+ | hudsonRealm.createAccount(" | ||
+ | instance.setSecurityRealm(hudsonRealm) | ||
+ | |||
+ | def strategy = new hudson.security.FullControlOnceLoggedInAuthorizationStrategy() | ||
+ | strategy.setAllowAnonymousRead(false) | ||
+ | instance.setAuthorizationStrategy(strategy) | ||
+ | |||
+ | instance.save() | ||
+ | adminCreatedMarker.createNewFile() | ||
+ | println " | ||
+ | } | ||
+ | </ |