Kubernetes Jenkins Slave Pod - проблема восстановления Dotnet - PullRequest
0 голосов
/ 20 мая 2019

У меня есть кластер Kubernetes (узел AWS EKS Master-EC2) и модуль Jenkins внутри него. Я использовал плагин Jenkins's Kubernetes для создания стручков Jenkins Slave. Мой подчиненный модуль не работает, когда дело доходит до команды восстановления dotnet при сборке Dockerfile. Я могу создать Dockerfile локально. В чем проблема? Можете ли вы вести меня об этом? Я предполагаю, что с nuget есть какая-то проблема с прокси, но я не знаю, как я могу сказать nuget использовать прокси Kubernetes.

Приложение, разработанное с использованием Asp.Net Core

Dockerfile:

FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build

WORKDIR /app

COPY ./SampleWebApiAspNetCore/*.csproj ./
RUN dotnet restore --verbosity d


COPY . ./
RUN dotnet publish -c Release -o output


FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY --from=build /app/SampleWebApiAspNetCore/output .

EXPOSE 5000
ENV ASPNETCORE_URLS http://*:5000
ENV ASPNETCORE_ENVIRONMENT docker

ENTRYPOINT ["dotnet", "SampleWebApiAspNetCore.dll"]

Jenkinsfile:

pipeline {
  agent {
    kubernetes {
      label 'mypod'
      yaml """
apiVersion: v1
kind: Pod
spec:
  containers:
  - name: docker
    image: docker:latest
    command: ['cat']
    tty: true
    volumeMounts:
    - name: dockersock
      mountPath: /var/run/docker.sock
  volumes:
  - name: dockersock
    hostPath:
      path: /var/run/docker.sock
"""
    }
  }
  stages {
    stage('Build Docker image') {
      steps {
        git url: 'https://github.com/TEST/KubernetesJenkins.git'
        dir('NetCoreWebApplication'){
        container('docker') {
          script {
              sh "whoami"
              sh "ls -l"
              sh "apk update"
              sh "apk upgrade"
               def image = docker.build('dorukakinci/netcore-demo-restwebapplication')
                image.inside() {
                  sh "whoami"
                }
              }
            }
          }
      }
    }
  }
}

Вывод Jenkinsfile:

/usr/share/dotnet/sdk/2.2.204/NuGet.targets(119,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/app/SampleWebApiAspNetCore.csproj]
/usr/share/dotnet/sdk/2.2.204/NuGet.targets(119,5): error :   Resource temporarily unavailable [/app/SampleWebApiAspNetCore.csproj]
The command '/bin/sh -c dotnet restore' returned a non-zero code: 1

Полный подробный вывод https://gist.githubusercontent.com/DorukAkinci/8b4ffc2589aeabe34f35232b7a0b7560/raw/e37fdc99bcd27419fe142696720566d3bd4d2471/gistfile1.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...