Dockerfileはローカルでビルドされますが、Azure DevopsパイプラインのCOPYステップで失敗します

ジェレック:

.netフレームワーク4.8で実行される単純なWindowsサービスをコンテナ化しました。アプリとコンテナはどちらも、このdockerfileを使用してローカルでビルドおよび実行できます。

FROM ourcontainerregistry.azurecr.io/net-framework-base:latest
WORKDIR /app

RUN cmd MSBuild.exe /property:Configuration=Release
COPY TopShelfServiceInstaller/bin/Release/ .

ENTRYPOINT ["TopShelfServiceInstaller.exe"]

Dockerデスクトップでローカルにコンテナーに接続すると、C:/ appディレクトリにあるファイルが表示され、サービスが期待どおりに動作していることを確認できます。

ただし、windows-latestビルドエージェントを使用してAzure Devopsのパイプラインでこのdockerfileを実行しようとすると、COPYステップで次のエラーが発生し続けます。

COPY failed: CreateFile \\?\C:\ProgramData\docker\tmp\docker-builder002424695\TopShelfServiceInstaller\bin\Release: The system cannot find the path specified.

なぜこれが起こっているのか、そしてどうすれば修正できるのか?

編集:ビルドのazure-pipelines.yml:

resources:
  repositories:
    - repository: net-framework-base
      type: git
      name: Container_DotNetFrameworkBase
  containers:
    - container: net-framework-base
      type: ACR
      azureSubscription: ---
      resourceGroup: ---
      registry: ---
      repository: net-framework-base

variables:
  - name: dockerRegistryServiceConnection
    value: ---
  - name: imageRepository
    value: "service"
  - name: containerRegistry
    value: ---
  - name: prod-container-registry
    value: ---
  - name: dockerfilePath
    value: "$(Build.SourcesDirectory)/Service/dockerfile"
  - name: tag
    value: "$(Build.BuildNumber)"
  - name: vmImageName
    value: "windows-latest"
trigger:
  batch: true
  branches:
    include:
      - feature/*
#pr:
stages:
  - stage: container
    displayName: New Docker Build
    dependsOn: []
    jobs:
      - job: container
        displayName: build container
        pool:
          vmImage: $(vmImageName)
        steps:
          - checkout: self
            fetchDepth: 1
          - checkout: net-framework-base
            fetchDepth: 1

          # this is the task that's failing
          - task: Docker@2
            displayName: build container
            inputs:
              containerRegistry: $(prod-container-registry)
              repository: $(imageRepository)
              command: "build"
              Dockerfile: $(dockerfilePath)
              tags: |
                $(tag)
ダニエル・マン:

COPYコマンドがあなたが思っていることをしていないと思いますCOPYコピーしたファイルからのホストファイルシステムをのコンテナ。ローカルで機能する理由は、ローカルでコードをビルドしたため、ローカルでビルドしたバージョンをコンテナにコピーするためです。

あなたがしなけれならないことはCOPY、ソースコードをコンテナに入れ、アプリケーションを構築するために必要なあらゆるステップを実行することです。これにはマルチステージビルドを使用することもお勧めします。SDKとビルドツールチェーンを使用してソースコードをコンテナーにコピーし、それをビルドして、結果の出力を、ランタイム環境のみを含むスリム化されたランタイムコンテナーにコピーします。ソースコードなし。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Azure DevOpsパイプライン:ローカルで合格したテストはパイプラインで失敗します

分類Dev

Dockerfileはローカルマシンでコンパイルされますが、自動ビルドのDockerハブで失敗します

分類Dev

ChromeHeadlessはパイプライン内で失敗しますが、ローカルでは失敗しません

分類Dev

Azure DevOps:パイプラインビルドでBlazorのデプロイが失敗する

分類Dev

.Net Coreソリューションはローカルでビルドされますが、AzureDevOPSパイプラインでのビルドに失敗します

分類Dev

devopsパイプラインyamlはDotNetCoreCLI @ 2タスクの失敗したテストを無視します

分類Dev

Azureでは、GoogleドライブのApiファイルのアップロードが失敗し、nullが返されます

分類Dev

別のビルドがすでに実行されている場合、AzureDevOpsビルドパイプラインは失敗します

分類Dev

SwiftUIプロジェクトはシミュレーター用に正常にビルドされますが、製品>アーカイブがSwiftパッケージのエラーで失敗します

分類Dev

GitLabおよびGitLab-Runnerdockerインスタンスをローカルで実行しているときに、パイプラインのビルドステップが接続拒否エラーで失敗する

分類Dev

ポッドのインストールで何が欠けていますか?XcodeビルドがAzureDevopsパイプラインに失敗する

分類Dev

ポッドのインストールで何が欠けていますか?XcodeビルドがAzureDevopsパイプラインに失敗する

分類Dev

Xcode 8:アーカイブビルドが(ネストされたフレームワークの場合)リンクエラーで失敗します。通常のビルドは正常にコンパイルされます

分類Dev

Protobuf関連の単体テストはローカルマシンに合格しましたが、Jenkinsパイプラインで失敗しました

分類Dev

AzureDevOpsビルドパイプライン-失敗したビルドは引き続きAzureにデプロイされます

分類Dev

Java 14を搭載したIntelliJ 2020.1の「レコード」プレビュー機能は、Mavenの「インストール」中にコンパイラエラーで失敗しますが、それ以外の場合は実行されます

分類Dev

Docker ImageタスクをACRにプッシュすると、Azure DevOpsパイプラインで「unauthorized:authenticationrequired」で失敗します

分類Dev

Docker ImageタスクをACRにプッシュすると、Azure DevOpsパイプラインで「unauthorized:authenticationrequired」で失敗します

分類Dev

クラステンプレートの継承はGCCでのコンパイルに失敗しますが、VisualStudioでは機能します

分類Dev

GentooでのEmergeは、「単一のパッケージスロット内の複数のパッケージインスタンスがプルされました…」で失敗します。どうすればこれを解決できますか?

分類Dev

TFSのCOMPILETODALVIKエラーでビルドが失敗しますが、ローカルマシンで正しくビルドされます

分類Dev

プログラムへのパイプは失敗しますが、SSHコンソールで正常に実行されます

分類Dev

Bitbucketパイプラインは、前のステップでローカルに構築されたイメージを使用します

分類Dev

ジェンキンスは失敗したステージでパイプラインを継続します

分類Dev

「dotnetビルド」中にコンパイラの警告が表示された場合、.netプロジェクトのjenkinsビルドに失敗できますか?

分類Dev

GitプッシュがJenkinsパイプラインで失敗しますか?

分類Dev

GITベースのasp.netWebアプリは、typescriptコンパイルエラーでAzureへのデプロイに失敗します

分類Dev

リアクティブパイプラインがサブスクライブされましたが、ユニットテストでMockito.verify()が失敗します(モックの呼び出しは記録されません)

分類Dev

ビルドパイプラインからの単体テストの失敗時に、Azure DevOpsから特定の開発者に詳細な電子メールを送信するにはどうすればよいですか?

Related 関連記事

  1. 1

    Azure DevOpsパイプライン:ローカルで合格したテストはパイプラインで失敗します

  2. 2

    Dockerfileはローカルマシンでコンパイルされますが、自動ビルドのDockerハブで失敗します

  3. 3

    ChromeHeadlessはパイプライン内で失敗しますが、ローカルでは失敗しません

  4. 4

    Azure DevOps:パイプラインビルドでBlazorのデプロイが失敗する

  5. 5

    .Net Coreソリューションはローカルでビルドされますが、AzureDevOPSパイプラインでのビルドに失敗します

  6. 6

    devopsパイプラインyamlはDotNetCoreCLI @ 2タスクの失敗したテストを無視します

  7. 7

    Azureでは、GoogleドライブのApiファイルのアップロードが失敗し、nullが返されます

  8. 8

    別のビルドがすでに実行されている場合、AzureDevOpsビルドパイプラインは失敗します

  9. 9

    SwiftUIプロジェクトはシミュレーター用に正常にビルドされますが、製品>アーカイブがSwiftパッケージのエラーで失敗します

  10. 10

    GitLabおよびGitLab-Runnerdockerインスタンスをローカルで実行しているときに、パイプラインのビルドステップが接続拒否エラーで失敗する

  11. 11

    ポッドのインストールで何が欠けていますか?XcodeビルドがAzureDevopsパイプラインに失敗する

  12. 12

    ポッドのインストールで何が欠けていますか?XcodeビルドがAzureDevopsパイプラインに失敗する

  13. 13

    Xcode 8:アーカイブビルドが(ネストされたフレームワークの場合)リンクエラーで失敗します。通常のビルドは正常にコンパイルされます

  14. 14

    Protobuf関連の単体テストはローカルマシンに合格しましたが、Jenkinsパイプラインで失敗しました

  15. 15

    AzureDevOpsビルドパイプライン-失敗したビルドは引き続きAzureにデプロイされます

  16. 16

    Java 14を搭載したIntelliJ 2020.1の「レコード」プレビュー機能は、Mavenの「インストール」中にコンパイラエラーで失敗しますが、それ以外の場合は実行されます

  17. 17

    Docker ImageタスクをACRにプッシュすると、Azure DevOpsパイプラインで「unauthorized:authenticationrequired」で失敗します

  18. 18

    Docker ImageタスクをACRにプッシュすると、Azure DevOpsパイプラインで「unauthorized:authenticationrequired」で失敗します

  19. 19

    クラステンプレートの継承はGCCでのコンパイルに失敗しますが、VisualStudioでは機能します

  20. 20

    GentooでのEmergeは、「単一のパッケージスロット内の複数のパッケージインスタンスがプルされました…」で失敗します。どうすればこれを解決できますか?

  21. 21

    TFSのCOMPILETODALVIKエラーでビルドが失敗しますが、ローカルマシンで正しくビルドされます

  22. 22

    プログラムへのパイプは失敗しますが、SSHコンソールで正常に実行されます

  23. 23

    Bitbucketパイプラインは、前のステップでローカルに構築されたイメージを使用します

  24. 24

    ジェンキンスは失敗したステージでパイプラインを継続します

  25. 25

    「dotnetビルド」中にコンパイラの警告が表示された場合、.netプロジェクトのjenkinsビルドに失敗できますか?

  26. 26

    GitプッシュがJenkinsパイプラインで失敗しますか?

  27. 27

    GITベースのasp.netWebアプリは、typescriptコンパイルエラーでAzureへのデプロイに失敗します

  28. 28

    リアクティブパイプラインがサブスクライブされましたが、ユニットテストでMockito.verify()が失敗します(モックの呼び出しは記録されません)

  29. 29

    ビルドパイプラインからの単体テストの失敗時に、Azure DevOpsから特定の開発者に詳細な電子メールを送信するにはどうすればよいですか?

ホットタグ

アーカイブ