지금도 Docker로 Jenkins를 구축하는 데 데이터 지속성이 필수적이라고 말했으면 좋겠다.
Docker에서 Jenkins를 움직이면 컨테이너 내에 빌드 한 모듈을 가져 가는 것이 어렵지 않습니까?
그런 번거로울 정도라면 처음부터 Jenkins를 로컬에 설치하는 것이 빠르지 않다? 라고
그런 건 없었다. 성대한 착각했다.
조금 감동했기 때문에, 그 때의 메모 쓰기.
Docker로 Jenkins 빌드하려면 빌드 결과 데이터를 영속화
그것을 로컬 「/home/java-user/jenkins-docker」에 출력하면 된다.
Docker에서 jenkins를 시작하는 명령
docker run -p 8080:8080 -p 50000:50000 -v /home/java-user/jenkins-docker:/var/jenkins_home jenkins
docker-compose.yml
version: '3.3'
services:
jenkins:
image: jenkins:2.60.3
ports:
- '8080:8080'
- '5000:5000'
volumes:
- /home/java-user/jenkins-docker:/var/jenkins_home
처음 시작 시 주의사항
좋아 빌드 해 보자! 그렇다면 에라
FATAL: command execution failed
java.io.IOException: Cannot run program "/var/jenkins_home/workspace/doma-sample/gradlew" (in directory "/var/jenkins_home/workspace/doma-sample"): error=13, Permission denied
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at hudson.Proc$LocalProc.<init>(Proc.java:245)
at hudson.Proc$LocalProc.<init>(Proc.java:214)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:850)
at hudson.Launcher$ProcStarter.start(Launcher.java:384)
at hudson.Launcher$ProcStarter.join(Launcher.java:395)
at hudson.plugins.gradle.Gradle.performTask(Gradle.java:333)
at hudson.plugins.gradle.Gradle.perform(Gradle.java:225)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:735)
at hudson.model.Build$BuildExecution.build(Build.java:206)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:490)
at hudson.model.Run.execute(Run.java:1735)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:405)
그럼 액세스권 부여하면 된다.
쉘 스크립트에 다음과 같이 설명
cd /var/jenkins_home/workspace/doma-sample/
chmod +x gradlew
※ Jenkins의 설정 이미지
안전하게 빌드할 수 있었습니다. 그리고는 빌드한 파일을 로컬의 환경에서 움직일 뿐.
Reference
이 문제에 관하여(지금도 Docker로 Jenkins를 구축하는 데 데이터 지속성이 필수적이라고 말했으면 좋겠다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/haruto167/items/9b79c34e5423c7a544d0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)