2017-03-25 4 views
0

Ich versuche, Jenkins CD und k8s auf GCE zu bekommen. Ich verfolge das Tutorial auf GCE: https://cloud.google.com/solutions/continuous-delivery-jenkins-container-engineJenkins auf GCE nicht bauen

Aus irgendeinem Grund die App wird nicht bauen: enter image description here

Dies ist die Jenkins Konsole ausgegeben.

Dies ist meine Jenkins Datei:

node { 
    def project = 'xxxxxx' 
    def appName = 'gceme' 
    def feSvcName = "${appName}-frontend" 
    def imageTag = "eu.gcr.io/${project}/${appName}:${env.BRANCH_NAME}.${env.BUILD_NUMBER}" 

    checkout scm 

    sh("echo Build image") 
    stage 'Build image' 
    sh("docker build -t ${imageTag} .") 

    sh("echo Run Go tests") 
    stage 'Run Go tests' 
    sh("docker run ${imageTag} go test") 

    sh("echo Push image to registry") 
    stage 'Push image to registry' 
    sh("gcloud docker push ${imageTag}") 

    sh("echo Deploy Application") 
    stage "Deploy Application" 
    switch (env.BRANCH_NAME) { 
    // Roll out to canary environment 
    case "canary": 
     // Change deployed image in canary to the one we just built 
     sh("sed -i.bak 's#eu.gcr.io/cloud-solutions-images/gceme:1.0.0#${imageTag}#' ./k8s/canary/*.yaml") 
     sh("kubectl --namespace=production apply -f k8s/services/") 
     sh("kubectl --namespace=production apply -f k8s/canary/") 
     sh("echo http://`kubectl --namespace=production get service/${feSvcName} --output=json | jq -r '.status.loadBalancer.ingress[0].ip'` > ${feSvcName}") 
     break 

    // Roll out to production 
    case "master": 
     // Change deployed image in canary to the one we just built 
     sh("sed -i.bak 's#eu.gcr.io/cloud-solutions-images/gceme:1.0.0#${imageTag}#' ./k8s/production/*.yaml") 
     sh("kubectl --namespace=production apply -f k8s/services/") 
     sh("kubectl --namespace=production apply -f k8s/production/") 
     sh("echo http://`kubectl --namespace=production get service/${feSvcName} --output=json | jq -r '.status.loadBalancer.ingress[0].ip'` > ${feSvcName}") 
     break 

    // Roll out a dev environment 
    default: 
     // Create namespace if it doesn't exist 
     sh("kubectl get ns ${env.BRANCH_NAME} || kubectl create ns ${env.BRANCH_NAME}") 
     // Don't use public load balancing for development branches 
     sh("sed -i.bak 's#LoadBalancer#ClusterIP#' ./k8s/services/frontend.yaml") 
     sh("sed -i.bak 's#eu.gcr.io/cloud-solutions-images/gceme:1.0.0#${imageTag}#' ./k8s/dev/*.yaml") 
     sh("kubectl --namespace=${env.BRANCH_NAME} apply -f k8s/services/") 
     sh("kubectl --namespace=${env.BRANCH_NAME} apply -f k8s/dev/") 
     echo 'To access your environment run `kubectl proxy`' 
     echo "Then access your service via http://localhost:8001/api/v1/proxy/namespaces/${env.BRANCH_NAME}/services/${feSvcName}:80/" 
    } 
} 

Könnte jemand bitte mich in die richtige Richtung führen? Ich bin verloren.

Antwort

0

Es ist klar aus dem Fehler, dass Problem bei der Erstellung von Symlink für die Dockerfile, die nicht existiert. Verfolgen Sie den angegebenen Speicherort und überprüfen Sie, ob die Datei existiert und die erforderliche Berechtigung besitzt.

0

Absolut Fail. Forgot Dockerfile ...

Verwandte Themen