2016-07-19 2 views
0

OpenShift v3.2에서 내 길을 찾고 데모 프로젝트를 빌드하고 배포 할 젠킨스를 사용하여 연속 배달 프로젝트를 작성하는 방법을 설명하는 블로그 게시물을 따라 왔습니다. 블로그 포스트는 여기에서 찾을 수 있습니다 : https://blog.openshift.com/pipelines-with-jenkins-2-on-openshift/opensshift는 프로젝트의 경로를 나열 할 수 없습니다.

내가 무슨 짓을했는지 것은 :

  • 는 CI
  • 는 젠킨스 영구 저장 템플릿을 사용하여 젠킨스 2.x에서 포드를 추가라는 OS에서 새 프로젝트를 생성

    oc new-app eap64-basic-s2i \ 
    --param=APPLICATION_NAME=ticket-monster \ 
    --param=SOURCE_REPOSITORY_URL=https://github.com/jboss-developer/ticket-monster.git \ 
    --param=SOURCE_REPOSITORY_REF=2.7.0.Final \ 
    --param=CONTEXT_DIR=demo 
    
: 블로그에 설명 된대로
  • 다음 명령을 사용하여 데모 프로젝트를 생성

    명령을 사용하여 서비스 계정에 대한 적절한 권한을 추가 :

    oc policy add-role-to-user edit system:systemaccount:ci:default -n demo 
    

    옆 openshift 파이프 라인 플러그인을 사용합니다 새로운 젠킨스 파이프 라인 구축을 구성. 내가 구성된 유일한 것은 당연 DSL이 있었다 :

    node { 
        stage 'Checkout' 
         git branch: '2.7.0.Final', url: 'https://github.com/jboss-developer/ticket-monster.git' 
    
         // ** NOTE: This 'M3' maven tool must be configured in the global configuration.   
         def mvnHome = tool 'M3' 
    
         stage 'Build' 
         sh "${mvnHome}/bin/mvn -f demo/pom.xml clean install" 
    
         stage 'Deploy' 
         def builder = new com.openshift.jenkins.plugins.pipeline.OpenShiftBuilder("", "ticket-monster", "demo", "", "", "", "", "true", "", "") 
         step builder 
        } 
    

    나는 젠킨스 작업, 체크 아웃을 시작하고 단계가 성공적으로 구축하지만, 배포 단계는 메시지와 함께 실패하는 경우 :

    Caused by: com.openshift.internal.restclient.http.HttpClientException: { 
         "kind": "Status", 
         "apiVersion": "v1", 
         "metadata": {}, 
         "status": "Failure", 
         "message": "User \"system:serviceaccount:ci:default\" cannot list routes in project \"ci\"", 
         "reason": "Forbidden", 
         "details": { 
         "kind": "routes" 
         }, 
         "code": 403 
        } 
    

    는 그래서 희망 도와 줄 수 있어요.

  • 답변

    0

    모든 것을 버리고 블로그 게시 단계를 반복 한 후에 나는 oc 정책을 추가해야하는 시점에서 중단했습니다. 명령

    oc project demo 
    

    대신 사용 :

    oc policy add-role-to-user edit system:systemaccount:ci:default -n demo 
    

    I을 그리고 내가 사용 데모 프로젝트로 전환

    { 
         "kind": "Status", 
         "apiVersion": "v1", 
         "metadata": {}, 
         "status": "Failure", 
         "message": "User \"system:serviceaccount:ci:default\" cannot list routes in project \"demo\"", 
         "reason": "Forbidden", 
         "details": { 
         "kind": "routes" 
         }, 
         "code": 403 
        } 
    

    : 나는보다 결과 젠킨스의 새로운 빌드 작업을 트리거 명령을 사용 :

    oc policy add-role-to-user edit system:serviceaccount:ci:default -n demo 
    

    그리고 어떤 이유로 그것은 트릭이었습니다. 젠킨스는 지금 오픈 시프트로 배포를 구축하고 나는 내 여행을 계속할 수 있습니다. 희망이 사람을 돕는다!

    관련 문제