JENKINS_HOME
환경 변수로 설정 정보 및 빌드 정보 실행 디렉토리를 지정할 수 있다.java -jar jenkins.war # or nohup java -jar jenkins.war > $LOGFILE 2>&1
--httpPort=$HTTP_PORT
--prefix=$PREFIX
: context path 처럼 URL 앞에 붙는 값-XX:PermSize=512M -XX:MaxPermSize=2048M -Xmn128M -Xms1024M -Xmx2048M
systemd
관련 항목 확인/etc/default/jenkins
에서 아래 항목을 원하는 계정으로 변경JENKINS_USER=<USERNAME> JENKINS_GROUP=<GROUP> # 다음 명령으로 한 번에 변경 sudo sed -i.bak -e "s/JENKINS_USER=\$NAME/JENKINS_USER=$USER/g" \ -e "s/JENKINS_GROUP=\$NAME/JENKINS_GROUP=$USER/g" \ -e "s/HTTP_PORT=8080/HTTP_PORT=7777/g" \ /etc/default/jenkins
# 이미 생성된 디렉토리 권한 변경 sudo chown -R <USERNAME>:<GRUOP> /var/lib/jenkins sudo chown -R <USERNAME>:<GRUOP> /var/cache/jenkins sudo chown -R <USERNAME>:<GRUOP> /var/log/jenkins # 재시작 sudo service jenkins restart # jenkins 프로세스 확인 ps -ef | grep jenkins
systemd
관련 항목 확인/etc/sysconfig/jenkins
파일에서 JVM 옵션 등 변경 가능/var/log/jenkins/jenkins.log
에 로그 남음UnknownHostException
발생시에 Jenkins is Experiencing UnknownHostException – CloudBees Supportsudo usermod -aG docker jenkins
latest
말고 lts
버전으로 설치할 것. 혹은 버전 명시. TZ=Asia/Seoul
도 명시해야 시간값이 맞다.docker run --name=mytestjenkins -p 8080:8080 -p 50000:50000 \ -v /your/home:/var/jenkins_home \ -e TZ=Asia/Seoul \ -e JAVA_OPTS=-Dhudson.footerURL=http://mycompany.com \ jenkins/jenkins:lts
/usr/local/bin/install-plugins.sh
스크립트를 호출해서 수행한다. Jenkins Official Docker source README 참조http://jenkins-server:port/cc.xml
: jenkins-server:post
부분을 대체하고 출력되는 XML을 받아 처리하면 모니터링 툴을 만들 수 있다. CruiseControll용 모니터링 툴과 동일한 스펙이므로 CC용 툴을 사용해도 된다.http://jenkins-server:port/whoAmI
에 대해 302 응답을 정상 응답으로 간주하면 된다.**/build/test-results/*.xml
형태로 지정한다.authenticated
로 지정하면 로그인 사용자에 대한 권한을 의미한다.DUMP="jenkins_data.`date +%Y-%m-%d`.tar.gz" JENKINS_HOME=/home/us/jenkins/jenkins-data nice -n 19 tar --exclude-from jenkins_backup_exclusions -C $JENKINS_HOME -zcf $DUMP .
jenkins_backup_exclusions
config-history/* jobs/*/workspace* jobs/*/builds/*/archive plugins/*/* plugins/*.bak war cache
jobs/*/builds logs
Jenkins 관리 → 시스템 로그
에서 신규 로그 기록기 추가
에서 플러그인의 패키지를 로거로 지정해준다.**
정도로 주면 된다.echo DATE=$(date +%Y-%m-%d) > env.properties
env.properties
를 빌드 후 조치 → Trigger parameterized build on other projects 에서 Parameters from properties file에 지정해준다.BUILD_ID
를 Jenkins가 지정한 것이 아닌 엉뚱한 값으로 바꿔주면된다. Jenkins는 프로세스의 BUILD_ID
환경 변수 값을 보고 프로세스를 죽이기 때문이다.BUILD_ID=무언가JENKINS BUILD_ID가 아닌 어떤값 ./your_hudson_script_that_starts_tomcat.sh
find . -name log -newerct yyyy-MM-dd ! -newerct yyyy-MM-dd -exec grep -Hni '검색어' {} \;
# 외부 모니터링 툴 설치 sudo apt-get install jenkins-external-tool-monitor # 외부 Job 실행, my-jenkins 는 Jenkins Master Server, nightly-backup 은 external job 이름 JENKINS_HOME=http://my-jenkins/ java -jar jenkins-core-*.jar nightly-backup ./backup.sh --nightly /home
stderr / Standard Error
스트림을 제대로 전달해주지 못하는 문제가 있어보임.