사용자 도구

사이트 도구


ci:jenkins:groovy_hook

문서의 이전 판입니다!


Jenkins Groovy Hook

  • $JENKINS_HOME/init.groovy, $JENKINS_HOME/init.groovy.d/에 넣어둔 .groovy 파일로 Jenkins 가 다 뜬 뒤의 작업을 할 수 있다.
  • $JENKINS_HOME 은 보통은 /var/lib/jenkins이다.
  • 출력은 /var/log/jenkins/jenkins.log 에 남는다.

자동 admin 생성

// 환경변수에 JENKINS_USER, JENKINS_PASS가 있을 때
import jenkins.model.*
import hudson.security.*
 
// 이미 사용자가 존재할 때의 처리 필요.
 
def env = System.getenv()
 
def jenkins = Jenkins.getInstance()
if(!(jenkins.getSecurityRealm() instanceof HudsonPrivateSecurityRealm))
    jenkins.setSecurityRealm(new HudsonPrivateSecurityRealm(false))
 
if(!(jenkins.getAuthorizationStrategy() instanceof GlobalMatrixAuthorizationStrategy))
    jenkins.setAuthorizationStrategy(new GlobalMatrixAuthorizationStrategy())
 
def user = jenkins.getSecurityRealm().createAccount(env.JENKINS_USER, env.JENKINS_PASS)
user.save()
jenkins.getAuthorizationStrategy().add(Jenkins.ADMINISTER, env.JENKINS_USER)
 
jenkins.save()
ci/jenkins/groovy_hook.1617093409.txt.gz · 마지막으로 수정됨: 2021/03/30 17:36 저자 kwon37xi