1
resposta

Dúvida com Shell

Olá pessoal,

Estou precisando de uma ajuda com um shell. Preciso criar uma estrutura para ser usada no job do Jenkins. mais ou menos assim:

execução01 - Sistema1.0.0 | 1.0.0.00 execução02 - Sistema1.0.0 | 1.0.0.01

Se eu mudar o branch ele deve começar do 0 novamente, por exemplo:

execução03 - Sistema1.1.0 | 1.1.0.00 execução04 - Sistema1.1.0 | 1.1.0.01

Tenho o shell abaixo

#!/bin/bash
LAST_VRS=""
#Na linha abaixo, informe o diretorio das versões.
DIR="TESTES/"
if [ "$LAST_VRS" ];then
    NEXT_VER=$(awk -F"." '{printf "%s.%s.%s.%02d\n",$1,$2,$3,$4+1 }' <<< "$LAST_VRS")
else
    NEXT_VER="$BASEVERSAO" # Exemplo: 1.0.0 ou 1.1.0
fi
sed -i '2s/.*/LAST_VRS=\"'$NEXT_VER'\"/' $0
mkdir ${DIR}${NEXT_VER}
sleep 0.125 ; exit

O problema do script acima é que depois da primeira execução a variavel LAST_VRS guarda o valor do ultimo diretório criado. Eu preciso que quando eu altere o branch essa variavel seja alterada para empty ou alguma outra forma de fazer.

Podem em ajudar, por favor?

1 resposta

O git tem uns listeners em função de várias operações que vc faz, são chamados de git hooks. Dá uma olhada aqui na documentação => https://git-scm.com/docs/githooks

Tem um que é o post-checkout. Talvez seja útil

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software