Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Gerando Arquivo Texto

Estou tetando montar um pipeline para subir um container com ngnix e para rodar um site feito em ANGULAR, porem o mesmo tem que apontar dinamicamente para um outro container que contem uma API java que eu subo em um container com uma imagem do tomcat.

Para resolver a questao dinamica eu peço o numero da porta do container da api que esta na mesma maquina HOST e estou tentando recriar o arquivo enviroment do projeto angular para buildar os fontes com angular cli apontando para o container da api passado como aprametro.

Estou tentando usar o seguinte comando abaixo no pipeline do jenkins

echo "export const environment = {production: false, envName: 'hm', comprasApiUrl: 'http://172.20.1.84:2034/nuvemapi/'};" > /var/lib/jenkins/workspace/frontend/src/environment/environment.hm.ts

Porem não estou conseguindo fazer ele aceitar as aspas duplas ("") no comando SH:

stage('NPM') {
            steps {
                sh 'npm install'          
                sh "echo export const environment = {production: false, envName: hm, comprasApiUrl: http://172.20.1.89:${params.PORTA_BACK}/nuvemapi/}; > /var/lib/jenkins/workspace/frontend/src/environments/environment.hm.ts"
                sh 'ng build --prod -c hm'
            }
        } 

Já tentei de inúmeras maneiras mas todas ou não geraram o comando da forma correta ou geraram erro, se alguém souber como o SH aceitar as aspas duplas ou uma forma de criar arquivo texto no jenkins, vai me ajudar muito,

2 respostas

Ola. Talvez isso te ajude:

https://gist.github.com/Faheetah/e11bd0315c34ed32e681616e41279ef4

solução!

Depois de dois dias sofrendo achei um forum dizendo pra usar " como carácter de scape e a linha abaixo funcionou

sh "echo \"export const environment = {production: false, envName: 'hm', comprasApiUrl: 'http://172.20.1.89:${params.PORTA_BACK}/nuvemapi/'};\" >/var/lib/jenkins/workspace/frontend/src/environments/environment.hm.ts"