2017-04-10 3 views
1

Ich teste einen Container in Codeship, die eine Datenbank benötigt. Mit Diensten in codeship-services.yml verknüpfe ich den Datenbankcontainer mit dem Anwendungscontainer. Das Problem ist, dass der Datenbankcontainer eine Menge Ausgaben druckt, die mit der Ausgabe der Tests gemischt werden. Ich möchte die MongoDB-Logs komplett entfernen, aber MongoDB hat keine Optionen dafür.Unterdrücken der Ausgabe von Codeship Service

Ich laufe es gerade mit mongod --quiet --setParameter logLevel=0, aber immer noch eine Menge Leistung.

Also suche ich nach einer Lösung auf der Codeship-Seite, um die Ausgabe von einem Container zu unterdrücken (Service in Codeship-Bedingungen). Die

Einstellung von Docker-Compose scheint nicht zu funktionieren.

Hier ist meine codeship-services.yml:

myapp: 
    build: 
    dockerfile: Dockerfile 
    image: myapp 
    cached: true 
    links: 
    - database 

database: 
    image: mongo:3.4.3 
    command: mongod --quiet --logpath /tmp/mongo.log --setParameter logLevel=0 
+1

'Logging' ist derzeit eine Richtlinie Codeship noch nicht unterstützt. –

Antwort

0

Wenn Sie ganz von MongoDB Protokolle loswerden wollen, können Sie alle Ausgaben von mongod Befehl \dev\null umleiten.

mongod --quiet --logpath /tmp/mongo.log --setParameter logLevel=0 > /dev/null 2>&1

+1

Das schlägt leider fehl, wenn ich es mit "Jet-Steps" starte. Wenn ich '>/dev/null 'hinzufüge, erhalte ich folgenden Fehler: über Kind-Prozess zu verzweigen, warten, bis der Server für Verbindungen bereit ist. {ContainerRunStdout = Schrittname: "Test" Dienstname: "Datenbank"}: Forked-Prozess: 16 {ContainerRunStdout = Schrittname: "Test" Dienstname: "Datenbank"}: Fehler: untergeordneten Prozess fehlgeschlagen, mit Fehlernummer 1 beendet –

Verwandte Themen