2016-07-31 3 views
1

Docker 컨테이너에 Jenkins CI를 갖고 싶습니다.Docker 컨테이너 내의 Jenkins와 개미가 작동하지 않습니다.

나는 젠킨스 도커 이미지를 뽑아 그것을 following the documentation를 시작했습니다 : 젠킨스는 괜찮 시작

sudo docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins 

, 나는 빌드 도구로 Ant를 사용하여 프로젝트에 대한 작업을 구성합니다. 내가 빌드 (/var/jenkins_home/workspace/my_job/)의 작업 디렉토리로 이동하여 실행하면,

ERROR: command execution failed.Maybe you need to configure the job to choose one of your Ant installations?

그러나 : 나는이 작업을 실행하면

는 젠킨스는 개미에 대한 다음과 같은 오류 (관계없이 구성 빌드 대상을) 발생 동일한 타겟에서 오류가 발생하지 않습니다.

ant clean 

내가 뭘 잘못하고 있니?

+2

당신은 마스터 노드에 빌드를 실행합니까? 그렇다면 컨테이너 안에'ant' *가 없을 것입니다. 'docker exec your_jenkins_container_name ant --version'을 실행 해보십시오. 불행히도 나는 당신에게 적절한 방법을 제안 할 수 있는지 확신하지 못합니다. – izzekil

답변

1

@izzekil이 지적했듯이 Ant는 컨테이너 내부에 설치되지 않았지만 호스트 시스템에만 설치되었습니다.

이 (root 사용자와 실행) 컨테이너에서 Ant를 설치하기에 충분했다 : 다음

sudo docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -u root jenkins 

과 :

sudo docker exec <container_id> apt-get update 
sudo docker exec <container_id> apt-get install ant -y 
+0

Jenkins를 루트 사용자로 실행하는 것이 가장 좋은 방법입니까? 그 사용자가 컨테이너 바깥으로 나갈 수 있습니까? – Eddie

관련 문제