2017-01-13 3 views
0

내 CCID에 Jenkins를 사용하고 있습니다. 나는 두 개의 서버가 server1이고 다른 하나는 server2이다. server1에서는 Jenkins (Docker가 설치되지 않음)를 설치했고 server2에는 Docker를 설치했습니다.Jenkins를 사용하는 Docker 배포

나는 내 JockkinsFile에서 도커 빌드 프로세스에 대한 docker.build 명령을 사용하여 server1에서 실행했지만 '도커 명령을 찾을 수 없음'을 throw합니다. Docker가 server1에 설치되어 있지 않기 때문입니다. 내가 사용한 코드는 다음과 같습니다 : 나는이 도커는 서버 2에 명령을 실행해야

stage 'Build Docker image' 
node { 
    def image = docker.build('/sampleApp:2.1') 
} 

.

답변

2

젠킨스는 노드 (마스터 및 슬레이브)에 할당 할 수있는 레이블 의 개념을 가지고 있습니다. 이제 docker 레이블이 설치된 노드를 지정해야합니다 (예 : docker).

이 젠킨스는>노드 관리를 관리 한 다음 서버 2 구성 오른쪽의 톱니 바퀴 아이콘을 클릭 통해 수행 할 수 있습니다 : 파이프 라인에서

slave configuration

을, 당신은 제공 할 수 있습니다 레이블은 node 단계로 이동하여 특정 레이블을 가진 노드에서 실행합니다.

node('docker') { 
    def image = docker.build('/sampleApp:2.1') 
} 
+1

'노드 ('server2') {...}'도 노드 레이블을 지정하는 것이 더 좋지만 노드가 확장 가능하고 노드에 바인딩되어 있지 않기 때문에 충분합니다. – Rik

+0

아, 알았습니다. – StephenKing

+0

Btw. 누군가 Jenkins에 포함 된 문서 외에 다른 문서를 알고 있다면 링크를 추가 하겠지만 웹에서는 아무 것도 찾을 수 없습니다. – StephenKing

관련 문제