Jenkins
Jenkins: Jenkins
설치 및 설정
war 파일로 다운로드 받는다.
mkdir jenkins cd jenkins wget https://get.jenkins.io/war-stable/2.492.3/jenkins.war mkdir home logs work
start.sh
#!/bin/bash #!/bin/bash JAVA_HOME=$HOME/devops/jvm/jdk-21.0.9+10 JENKINS_DATA=/mnt/LaCie/svcrnd/data/jenkins JENKINS_ROOT=$HOME/devops/jenkins JENKINS_WAR=$JENKINS_ROOT/dist/jenkins.war JENKINS_HOME=$JENKINS_DATA JENKINS_LOG=$JENKINS_ROOT/logs/jenkins.log JENKINS_PIDFILE=$JENKINS_ROOT/logs/jenkins.pid JENKINS_WEBROOT=$JENKINS_ROOT/work case $1 in start) $JAVA_HOME/bin/java -DJENKINS_HOME=$JENKINS_HOME -jar $JENKINS_WAR --enable-future-java --logfile=$JENKINS_LOG --webroot=$JENKINS_WEBROOT --httpPort=6501 --prefix=/jenkins & echo $! > $JENKINS_PIDFILE ;; stop) if [ -f $JENKINS_PIDFILE ]; then kill $(cat $JENKINS_PIDFILE) rm $JENKINS_PIDFILE else ps -ef | grep jenkins | grep -v grep | awk '{print $2}' | xargs kill fi ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac exit 0
supervisord 설정
[program:jenkins] environment=HOME="/home/aicsgw" command=java -DJENKINS_HOME=/home/aicsgw/servers/jenkins/home -jar /home/aicsgw/servers/jenkins/jenkins.war --logfile=/home/aicsgw/servers/jenkins/logs/jenkins.log --webroot=/home/aicsgw/servers/jenkins/work --httpPort=8084 --prefix=/ci directory=/home/aicsgw/servers/jenkins/ autostart=true stopasgroup=true ;startsecs=5 ;stopwaitsecs=10 ;autorestart=true ;stopsignal=KILL stdout_logfile=/home/aicsgw/servers/supervisor/logs/jenkins_out.log stderr_logfile=/home/aicsgw/servers/supervisor/logs/jenkins_err.log stdout_logfile_backups=3 stderr_logfile_backups=3 user=aicsgw priority=21
Keycloak 연동
Keycloak Authentication | Jenkins plugin
최대한 언급된 항목만 설정한다.
maven 설정 수정
사내 maven repository 접근 시 오류 발생
[ERROR] Failed to read artifact descriptor for com.uangel.aica:aipbmsg:jar:0.0.16 [ERROR] Caused by: The following artifacts could not be resolved: com.uangel.aica:aipbmsg:pom:0.0.16 (absent): Could not transfer artifact com.uangel.aica:aipbmsg:pom:0.0.16 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [maven-public (http://192.168.7.33:8082/repository/maven-public/, default, releases+snapshots)]
maven 설정 수정 /home/aicsgw/servers/jenkins/home/tools/hudson.tasks.Maven_MavenInstallation/maven/conf
<!-- disable http mirror blocker <mirror> <id>maven-default-http-blocker</id> <mirrorOf>external:http:*</mirrorOf> <name>Pseudo repository to mirror external repositories initially using HTTP.</name> <url>http://0.0.0.0/</url> <blocked>true</blocked> </mirror> -->
