Fazendo guerra dentro do Docker preso no NPM

1

Usando o Docker para criar um arquivo war para anexar ao Apache Tomcat.

Lutando para usar o NPM / MVN para acelerar o Tomcat.

Estou atrás de um proxy corporativo e os scripts make não têm "bower install --allow-root" (Realizado ao procurar).

Como todos sabemos, o Docker executa tudo como root, por isso tenho recebido erros abaixo.

     [echo] --- BOWER INSTALL ---
     [exec] 
     [exec] /usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:71
     [exec]         throw error;
     [exec]               ^
     [exec] Error: Unable to parse /root/.bowerrc: Unexpected token }
     [exec]     at parse (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:64:21)
     [exec]     at json (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:86:16)
     [exec]     at rc (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/util/rc.js:32:26)
     [exec]     at Config.load (/usr/local/lib/node_modules/bower/lib/node_modules/bower-config/lib/Config.js:16:20)
     [exec]     at readCachedConfig (/usr/local/lib/node_modules/bower/lib/config.js:15:39)
     [exec]     at defaultConfig (/usr/local/lib/node_modules/bower/lib/config.js:11:12)
     [exec]     at Object.<anonymous> (/usr/local/lib/node_modules/bower/lib/index.js:16:32)
     [exec]     at Module._compile (module.js:456:26)
     [exec]     at Object.Module._extensions..js (module.js:474:10)
     [exec]     at Module.load (module.js:356:32)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3:30.433s
[INFO] Finished at: Thu Feb 04 16:15:59 UTC 2016
[INFO] Final Memory: 13M/1928M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.5:run (exec-gen-sources) on project gui-uxd-container: An Ant BuildException has occured: exec returned: 8 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
The command '/bin/sh -c cd /var/opt/gui/gui-uxd-container && sudo mvn clean install' returned a non-zero code: 1
root@docker:~/war-Docker/gui# 

Como não consigo tocar no código-fonte, deixei escapar "COPY .bowerrc /root/.bowerrc" dentro do Dockerfile antes de invocar o comando.

A sintaxe do meu .bowerrc parece boa e, em caso afirmativo, essa é a principal queixa que minha mensagem de erro está descartando? Eu não quero mudar a pasta padrão do projeto

{
    "proxy":"http://proxy.wsa.com:8000",
    "https-proxy":"http://proxy.wsa.com:8000",
    "strict-ssl": false,
    "allow_root": true
}

Ajuda apreciada.

    
por SndLt 05.02.2016 / 00:28

1 resposta

0

"Paciência é a virtude"

As dependências não estavam totalmente prontas. Proxy ... e proxy

RUN locale-gen en_US.UTF-8
RUN dpkg-reconfigure locales

ENV JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk-amd64

ENV PATH /root/.linuxbrew/bin:$PATH
ENV MANPATH /root/.linuxbrew/share/man:$MANPATH
ENV INFOPATH /root/.linuxbrew/share/info:$INFOPATH

COPY settings.xml ~/.m2/settings.xml
COPY .bowerrc /root/tomcat-war/.bowerrc


root@~/tomcat-war# cat .bowerrc 
{
    "directory":"app/bower_components",
    "proxy":"http://proxy.wsa.com:8000",
    "https-proxy":"http://proxy.wsa.com:8000",
    "strict-ssl": false,
    "allow_root": true
}
root@~/tomcat-war# 

root@~/tomcat-war#  cat settings.xml | grep proxy
   | Unless otherwise specified (by system property or command-line switch), the first proxy
    <!-- proxy
     | Specification for one proxy, to be used in connecting to the network.
    <proxy>
      <host>http://proxy.wsa.com:8000</host>
    </proxy>
   | Unless otherwise specified (by system property or command-line switch), the first proxy
    <!-- proxy
     | Specification for one proxy, to be used in connecting to the network.
    <proxy>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
    </proxy>
root@~/tomcat-war# 
    
por 19.02.2016 / 21:22