2016-07-19 20 views
0

Ich finde meinen Weg in OpenShift v3.2 und habe einen Blog-Beitrag verfolgt, der erklärt, wie man ein Projekt mit kontinuierlicher Lieferung mithilfe von jenkins erstellt, die ein Demo-Projekt erstellen und bereitstellen. Der Blog-Eintrag findet Sie hier: https://blog.openshift.com/pipelines-with-jenkins-2-on-openshift/openshift kann Routen im Projekt nicht auflisten

Was ich habe, ist getan:

  • ein neues Projekt in O erstellt genannt ci
  • ein jenkins 2.x pod hinzugefügt, um die jenkins persistente Speicher-Vorlage wie im Blog beschrieben
  • ein ersten Demo-Projekt mit dem folgenden Befehl:

    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 
    

Hinzugefügt die entsprechenden Rechte für ein Dienstkonto mit dem Befehl:

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

neben einer neuen jenkins Pipeline bauen konfiguriert, die von der Openshift Pipeline-Plugin macht. Dort wird das einzige, was ich konfiguriert war das fetzige 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 
    } 

Wenn ich starten Sie den jenkins Job, die Kasse und bauen Bühnen erfolgreich sein, aber die deploy Bühne schlägt mit der Nachricht:

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 
    } 

Sie also hoffen kann mir helfen.

Antwort

0

Nachdem ich alles weggeworfen und die Blog-Post-Schritte wieder aufgenommen hatte, stoppte ich an dem Punkt, an dem ich die OC-Richtlinie hinzufügen musste. Ich ausgelöst, als einen neuen Build Job in jenkins, die in Folge:

{ 
     "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 
    } 

Dann wechselte ich zum Demo-Projekt mit:

oc project demo 

statt mit dem Befehl:

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

I verwendete den Befehl:

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

und aus irgendeinem Grund war das der Trick. Die Jenkins bauen jetzt zur OpenShift und ich kann meine Reise fortsetzen. Hoffe das hilft jemandem!

Verwandte Themen