2017-12-11 6 views
0

Ich versuche, eine C++ - App für Linux mit VSTS zu erstellen. Der Build ist durch die Docker-Containervorlage definiert, und die Agentenwarteschlange ist Hosted Linux.Erstellen von Linux C++ mit VSTS

Beim Ausführen bekomme ich [Fehler] Unbehandelt: Keine Docker-Datei passender/opt/vsts/Arbeit/1/s/**/Dockerfile wurde gefunden.

Wie erstelle ich die Docker-Datei, die von der Fehlermeldung angefordert wird?

Antwort

1

Der Fehler bedeutet, auf einem Linux-Container ausgeführt werden, dass es nicht die in Arbeitsordner vorhandenen Dockerfile Datei ist, können Sie die Dockerfile Datei in der Quellcodeverwaltung enthalten und Karte zu der Agent (Get Quellen der Build-Definition)

Es gibt das Docker-Bild, das von anderen geteilt wird, zum Beispiel: madduci/docker-ubuntu-cpp und die CMake generierten Dateien werden im Build-Ordner sein, wenn Sie nur das C++ - Projekt erstellen müssen Beziehen Sie sich auf diese Schritte (CMakeLists.txt befindet sich im Stammverzeichnis des Repositorys):

  1. Docker-Task hinzufügen (Aktion: Run a Docker command; Befehl: run -v $(Build.SourcesDirectory):/project madduci/docker-ubuntu-cpp)
  2. Veröffentlichen Artefakte Bauen (Pfad veröffentlichen: $(Build.SourcesDirectory)/build)

Wenn Sie das Docker Bild aufbauen müssen, müssen Sie Dockerfile erstellen.

+0

Danke. Ich muss nur das C++ - Projekt erstellen. Ich habe den Befehl 'Run a Docker 'mit' run -v $ (Build.SourcesDirectory)/LinuxConsoleApplication madduci/docker-ubuntu-cpp' hinzugefügt und eine CMakeLists.txt-Datei im Stammverzeichnis des Repositorys erstellt. Allerdings bekomme ich 'Status: Neuere Image für madduci/docker-ubuntu-cpp heruntergeladen: neueste CMake Fehler: Das Quellverzeichnis"/Projekt "scheint nicht CMakeLists.txt enthalten. Geben Sie --help für die Verwendung an oder drücken Sie die Hilfe-Schaltfläche auf der CMake-GUI. Fehler: Cache konnte nicht geladen werden. Ideen? – EricaC

+0

Wenn Sie stattdessen '-v $ (Build.SourcesDirectory)/LinuxConsoleApplication:/project madduci/docker-ubuntu-cpp' ausführen, werden die Dateien in $ (Build.SourcesDirectory)/LinuxConsoleApplication in den Projektordner des Andockcontainers kopiert. Hinweis: Die CMakeLists.txt befindet sich im Ordner LinuxConsoleApplication. –

+0

@EricaC Was ist das Ergebnis jetzt? Löst du dieses Problem? –

0

Wenn die Docker Aufgabe gesetzt, ein Bild bauen Sie eine Option erhalten eine Docker-Datei angeben:

Docker file for building an image

**/Dockerfile bedeutet, dass die Aufgabe Repository für eine Datei mit dem Namen Dockerfile und Verwendung sucht, dass um das Bild zu erstellen.

Der Fehler, den Sie erhalten, bedeutet, dass diese Datei nicht gefunden werden kann. Sie können einige Beispiele für Dockerfiles here in the Docker documentation finden. This blog beschreibt, wie C++ Anwendungen erstellen, die

Verwandte Themen