In meinem Test-Setup verwende ich einen Docker-Executor, um meine Builds auszuführen. Fast alle unsere Projekte laufen auf einem der offiziellen Knotenbilder (zB node:6
).Übergeben Sie die Umgebungsvariable von Gitlab docker executor an image
Standardmäßig enthalten diese offiziellen Bilder eine Protokollierungsstufe, die ziemlich abit ausgegeben wird.
Nach der offiziellen Dokumentation kann, dass https://github.com/nodejs/docker-node/blob/master/README.md#verbosity
Verbosity
By default the Node.js Docker Image has npm log verbosity set to info instead
of the default warn. This is because of the way Docker is isolated from the
host operating system and you are not guaranteed to be able to retrieve the
npm-debug.log file when npm fails.
When npm fails, it writes it's verbose log to a log file inside the container.
If npm fails during an install when building a Docker Image with the docker
build command, this log file will become inaccessible when Docker exits.
The Docker Working Group have chosen to be overly verbose during a build to
provide an easy audit trail when install fails. If you prefer npm to be less
verbose you can easily reset the verbosity of npm using the following
techniques:
Dockerfile
If you create your own Dockerfile which inherits from the node image you can
simply use ENV to override NPM_CONFIG_LOGLEVEL.
FROM node
ENV NPM_CONFIG_LOGLEVEL warn
...
Docker Run
If you run the node image using docker run you can use the -e flag to override
NPM_CONFIG_LOGLEVEL.
$ docker run -e NPM_CONFIG_LOGLEVEL=warn node ...
NPM run
If you are running npm commands you can use --loglevel to control the
verbosity of the output.
$ docker run node npm --loglevel=warn ...
aber deaktiviert werden, wenn ich das Docker Bild von meiner gitlab-ci.yml
Datei nur Referenz, etwa so:
image: node:6
test:
script:
- npm install
Wie kann ich den Pass Umgebungsvariable, um die Protokollierungsstufe zu meinem Docker Executor zu setzen?