<!DOCTYPE html> <html lang="pt br"> <head> <meta charset="UTF-8"> <title>Configurar Job</title> <link rel="stylesheet" href="css/index.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <script src="job.js"></script> </head> <body style="margin-bottom: 64px"> <header> <nav id="navbar" class="navbar navbar-expand-lg navbar-dark bg-dark"> <img src="img/headshot.png" class="d-inline-block align-top" alt=""> <img src="img/title.png" width="139" height="34" class="d-inline-block align-top" alt=""> </nav> </header> <section class="design-process-section" id="process-tab"> <ul class="nav process-model more-icon-preocess" role="tablist"> <li role="presentation" class="active"><a href="#general" aria-controls="general" role="tab" data-toggle="tab"><i aria-hidden="true"></i> <p>General</p> </a></li> <li role="presentation"><a href="#repository" aria-controls="repository" role="tab" data-toggle="tab"><i aria-hidden="true"></i> <p>Repository</p> </a></li> <li role="presentation"><a href="#quality" aria-controls="quality" role="tab" data-toggle="tab"><i aria-hidden="true"></i> <p>Quality</p> </a></li> <li role="presentation"><a href="#test" aria-controls="test" role="tab" data-toggle="tab"><i aria-hidden="true"></i> <p>Test</p> </a></li> <li role="presentation"><a href="#package" aria-controls="package" role="tab" data-toggle="tab"><i aria-hidden="true"></i> <p>Package</p> </a></li> <li role="presentation"><a href="#deploy" aria-controls="deploy" role="tab" data-toggle="tab"><i aria-hidden="true"></i> <p>Deploy</p> </a></li> </ul> </section> <section> <div class="container"> <div class="tab-content"> <div role="tabpanel" class="tab-pane active" id="general"> <div class="design-process-content"> <div class="batata"> <label> <input type="checkbox" id="abort-stuck" onchange="showById('AbortStuck')"> Abortar em caso de travamento</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Você pode selecionar uma forma de abortar a execução caso ela trave">? </button> </div> <div class="panel" id="AbortStuck" style="display: none;"> <div class="input-group mb-3 offset-md-3"> <div class="input-group-prepend"> <label class="input-group-text" for="inputGroupSelect01">Estratégia de time-out</label> </div> <select id="AbortType" class="custom-select" id="inputGroupSelect01" onchange="showAbort()"> <option value="Absolute">Absolute</option> <option value="Deadline">Deadline</option> <option value="Elastic">Elastic</option> <option value="LikelyStuck">Likely stuck</option> <option value="NoActivity">No activity</option> </select> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content=" Absolute: aborta o build baseado em um time-out fixo. Deadline: aborta o build baseado em um prazo especifico HH:MM:SS or HH:MM (Formato 24 horas) Elastic: Defina o tempo de espera antes de eliminar a construção como uma porcentagem da média da duração das últimas n construções bem-sucedidas. Likely stuck: Aborta quando o build demora mais que os anteriores No Activity: Tempo limite quando segundos especificados se passaram desde a última saída do log. ">? </button> </div> <label class="offset-md-3" for="time-out-input">Variável de time-out</label> <div class="input-group mb-3 offset-md-3"> <input type="text" id="time-out" class="form-control" id="time-out-input" aria-describedby="time-out-input"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Definir uma variável de ambiente de tempo limite de build">? </button> </div> <div id="Absolute"> <label class="offset-md-3">Timeout minutes</label> <div class="input-group mb-3 offset-md-3"> <input type="number" id="time-out-minutes" name="quantity2" class="form-control" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Se configurado, e se uma compilação não for concluída pelo período de tempo especificado (em minutos; pelo menos 3), a compilação será encerrada automaticamente e marcada como abortada. Isso é útil se você experimentou ciclos infinitos em seu teste, por exemplo.">? </button> </div> </div> <div class="panel" id="Deadline" style="display: none;"> <label class="offset-md-3">Deadline time</label> <div class="input-group mb-3 offset-md-3"> <input id="deadline" name="quantity2" class="form-control" min="0" placeholder="HH:mm"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Se configurado e se uma compilação não for concluída até o próximo prazo (especificado no formato de 24 horas como HH: MM: SS ou HH: MM), a compilação será finalizada automaticamente e marcada como indicado nas ações de tempo limite ('abortado' por padrão). Referências variáveis são permitidas para definir o prazo final.">? </button> </div> <label class="offset-md-3">Deadline tolerância em minutos</label> <div class="input-group mb-3 offset-md-3"> <input type="number" id="deadtime-tolerance" name="quantity2" class="form-control" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Período em minutos após o prazo final em que um trabalho deve ser abortado imediatamente. Por exemplo. se o prazo final for definido como '13:50', a tolerância for '5' minutos e o trabalho estiver programado para ser executado em '13:52', ele será imediatamente abortado. No entanto, se estiver programado para '13:56', o prazo do trabalho será definido para '13:50' do dia seguinte.">? </button> </div> </div> <div class="panel" id="Elastic" style="display: none;"> <div class="input-group mb-3 offset-md-3"> <div class="input-group-prepend"> <label class="input-group-text" for="inputGroupSelect01">Timeout em porcentagem de builds que não falham</label> </div> <select class="custom-select" id="percentage" onchange="showAbort()"> <option value="150">150%</option> <option value="200">200%</option> <option value="250">250%</option> <option value="300">300%</option> <option value="350">350%</option> <option value="400">400%</option> </select> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Se a duração da compilação durar mais que essa porcentagem das três compilações sem falha mais recentes, a compilação será encerrada e marcada como abortada. Se não houver construções bem-sucedidas, o campo 'Minutos de tempo limite se não houver construções instáveis ou bem-sucedidas' será usado.">? </button> </div> <label class="offset-md-3" for="time-out-input">Número de Builds</label> <div class="input-group mb-3 offset-md-3"> <input type="number" id="abort-number-builds" class="form-control" id="number-of-builds" aria-describedby="number-of-builds" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Número de builds para considerar a duração média da computação">? </button> </div> <label class="offset-md-3" for="time-out-input">Timeout minutes</label> <div class="input-group mb-3 offset-md-3"> <input name="quantity2" id="abort-timeout" type="number" class="form-control" id="timeout-minutes" aria-describedby="number-of-builds" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Tempo limite a ser usado se não houver build anteriores bem-sucedidas ou instáveis">? </button> </div> <input type="checkbox" id="field4" name="field4"> <label for="field4">Timeout minutes as the shortest timeout</label> </div> <div class="panel" id="NoActivity" style="display: none;"> <label class="offset-md-3" for="time-out-input">Timeout seconds</label> <div class="input-group mb-3 offset-md-3"> <input name="quantity2" id="no-activity-seconds" type="number" class="form-control" id="timeout-seconds" aria-describedby="number-of-builds" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Segundos para detectar o tempo limite desde a última saída do log. Isso é útil para interromper um build se não houver atividade por muito tempo. Cuidado com o atraso na saída do log para buffer.">? </button> </div> </div> </div> <div class="batata"> <label><input type="checkbox" id="add-timestamp"> Adicionar horario de execução na saida do console</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Registra o tempo de execução no formato de um timestamp">? </button> </div> <div class="batata"> <label><input type="checkbox" id="inspect-gradle-build"> Inspecionar build log para verificar publicações de build Gradle</label> </div> <div class="batata"> <label><input type="checkbox" id="discart-old-builds" onchange="showById('DescartOldBuilds')"> Descartar builds antigas</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Gerencia o consumo de disco no Jenkins com o tempo que você gostaria de manter os registros das construções">? </button> </div> <div class="panel" id="DescartOldBuilds" style="display: none;"> <label class="offset-md-3">Dias para manter os builds</label> <div class="input-group mb-3 offset-md-3"> <input name="quantity2" id="discart-days" type="number" class="form-control" aria-describedby="number-of-builds" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Você pode fazer o Jenkins apagar um registro se ele atingir uma certa idade (Por exemplo, 7 dias de idade.)">? </button> </div> <label class="offset-md-3">Máximo de builds para manter</label> <div class="input-group mb-3 offset-md-3"> <input name="quantity2" id="discart-max" type="number" class="form-control" aria-describedby="number-of-builds" min="0" placeholder="0"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Você pode fazer o Jenkins assegurar que ele vai manter apenas até N registros de construção. Se uma nova construção for iniciada, o registro mais velho será simplesmente removido">? </button> </div> </div> <div class="batata"> <label><input type="checkbox" id="git-hub-project" onchange="showById('GitHubProject')"> GitHub project</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Plataforma de hospedagem de código-fonte com controle de versão usando o Git">? </button> </div> <div class="panel" id="GitHubProject" style="display: none;"> <label class="offset-md-3">Project URL</label> <div class="input-group mb-3 offset-md-3"> <div class="input-group-prepend"> </div> <input type="text" id="git-hub-project-url" class="form-control" aria-describedby="basic-addon3"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Digite o URL para o projeto hospedado no GitHub (sem a parte de tree / master ou tree / branch part). Por exemplo: https://github.com/rails/rails para o projeto Rails.">? </button> </div> </div> <div class="batata"> <label><input type="checkbox" id="throttle-builds" onchange="showById('ThrottleBuilds')"> Throttle builds</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Impõe um tempo mínimo entre compilações com base na taxa máxima desejada. Nota: isso não impõe uma taxa 'média', apenas analisa o tempo desde a última compilação.">? </button> </div> <div class="panel" id="ThrottleBuilds" style="display: none;"> <label class="offset-md-3">Número de builds</label> <div class="input-group mb-3 offset-md-3"> <input type="text" id="number-builds" class="form-control" aria-label="Text input with dropdown button"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="O número máximo de builds que podem ter realizadas em um período de tempo.">? </button> </div> <label class="offset-md-3">Período de Tempo</label> <div class="input-group mb-3 offset-md-3"> <select name="selectDuration" id="time-period" class="btn btn-outline-secondary dropdown-toggle" value=""> <option value="second">Second</option> <option value="minute">Minute</option> <option value="hour">Hour</option> <option value="day">Day</option> <option value="week">Week</option> <option value="month">Month</option> <option value="year">Year</option> </select> </div> </div> <div class="batata"> <label><input type="checkbox" id="disable-builds"> Desabilitar builds</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Algumas vezes, você pode querer parar temporáriamente de construir um projeto. Por exemplo, talvez você está no meio de uma grande migração e você sabe que as novas construções vão falhar. Ou talvez um projeto é construído de hora em hora mas você sabe que o servidor de CVS ficará desligado pelas próximas 24 horas. Quando esta opção for informada, nenhuma nova construção é feita neste projeto. Isto permite que você desabilite as novas construções sem mudar qualquer uma da cadeia de dependência da construção ou mudar a configuração de notificação.">? </button> </div> <div class="batata"> <label><input type="checkbox" id="parallel-builds"> Execute os builds em paralelo se necessário</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Permite que quando mais de uma build for iniciada ao mesmo tempo, não é necessário esperar uma acabar para começar a outra, ambas podem ocorrer ao mesmo tempo.">? </button> </div> <div class="batata"> <label><input type="checkbox" id="number-tries-chk" onchange="showById('CloneAttempts')"> Número de tentativas para clonar o código</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Quantidade de tentativas para clonar o código do repositório">? </button> </div> <div class="panel" id="CloneAttempts" style="display: none;"> <label class="offset-md-3">Número de tentativas</label> <div class="input-group mb-3 offset-md-3"> <input type="number" id="number-tries" name="quantity2" class="form-control" min="1" placeholder="1"> </div> </div> <div class="batata"> <label><input type="checkbox" id="keep-logs"> Manter os logs de construção das dependências</label> </div> <a href="#repository" aria-controls="repository" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-right batata4">Avançar</a> </div> </div> <div role="tabpanel" class="tab-pane" id="repository"> <div class="design-process-content"> <label><input type="radio" id="reposiroty-type-git" name="reposirotyType" value="git" onchange="showGitOpt()" checked> GIT</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Selecionar caso o código esteja versionado em um repositório GIT.">? </button> <label><input type="radio" id="reposiroty-type-svn" name="reposirotyType" value="svn" onchange="showGitOpt()"> SVN</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Selecionar caso o código esteja versionado em um repositório SVN.">? </button> <div> <label class="offset-md-3">Login</label> <div class="input-group mb-3 offset-md-3"> <div class="input-group-prepend"> <span class="input-group-text" id="basic-addon1">@</span> </div> <input type="text" id="username" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Usuário de acesso ao repositório">? </button> </div> <label class="offset-md-3">Senha</label> <div class="input-group mb-3 offset-md-3"> <input type="password" id="password" class="form-control" aria-label="password" aria-describedby="basic-addon1"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Senha de acesso ao repositório">? </button> </div> <label class="offset-md-3">URL</label> <div class="input-group mb-3 offset-md-3"> <div class="input-group-prepend"> </div> <input type="text" id="reposiroty-address" class="form-control" id="basic-url" aria-describedby="basic-addon3"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Especifique a URL deste repositório remoto. Isso usa a mesma sintaxe do seu comando git clone.">? </button> </div> <label class="offset-md-3" for="basic-url"> Branch</label> <div class="input-group mb-3 offset-md-3"> <input type="text" id="reposiroty-branch" class="form-control" aria-describedby="basic-addon3"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Especifique a Branch que será clonada do seu repositório.">? </button> </div> <div class="panel" id="GitOpt"> <div class="input-group mb-3 offset-md-3"> <label> <input type="checkbox" id="push-commit"> Dispare builds remotamente quando commits forem executados</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Faz com que os commits feitos em sua branch disparem automaticamente as builds. (É necessário especificar a branch)">? </button> </div> <label class="offset-md-3" for="basic-url"> Autenticação</label> <div class="input-group mb-3 offset-md-3"> <input type="text" id="reposiroty-authentication" class="form-control" aria-describedby="basic-addon3"> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Use a seguinte URL para iniciar um build remoto: JENKINS_URL/job/job/build?token=TOKEN_NAME ou /buildWithParameters?token=TOKEN_NAME Opcionalmente anexe &cause=Cause+Text para fornecer o texto que será incluído no build gravado">? </button> </div> <div class="input-group mb-3 offset-md-3"> <label><input type="checkbox" id="push-commit-git-hub"> GitHub hook dispara a build automaticamente após pushes</label> </div> </div> </div> <div> <a href="#general" aria-controls="general" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-left">Voltar</a> <a href="#quality" aria-controls="quality" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-right">Avançar</a> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="quality"> <div class="design-process-content"> <label> <input type="checkbox" id="chk-quality" onchange="showById('qualityScript')"> Executar Quality Check</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Marque para inserir um script para validar a qualidade do seu código.">? </button> <div class="panel mb-3 offset-md-3" id="qualityScript" style="display: none;"> Comando de execução: <textarea id="quality-config" class="form-control" rows="4" cols="50"></textarea> </div> <div> <a href="#repository" aria-controls="repository" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-left">Voltar</a> <a href="#test" aria-controls="test" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-right">Avançar</a> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="test"> <div class="design-process-content"> <label><input type="checkbox" id="chk-test" onchange="showById('testScript')"> Executar Testes</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Marque para inserir um script para executar a rotina de testes do seu projeto.">? </button> <div class="panel mb-3 offset-md-3" id="testScript" style="display: none;"> Comando de execução: <textarea id="test-config" class="form-control" rows="4" cols="50"></textarea> </div> <div> <a href="#quality" aria-controls="quality" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-left">Voltar</a> <a href="#package" aria-controls="package" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-right">Avançar</a> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="package"> <div class="design-process-content"> <label><input type="checkbox" id="chk-package" onchange="showById('packageScript')"> Executar Package</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Marque para inserir um script para executar o empacotamento do seu projeto.">? </button> <div class="panel mb-3 offset-md-3" id="packageScript" style="display: none;"> Comando de execução: <textarea id="package-config" class="form-control" rows="4" cols="50"></textarea> </div> <div> <a href="#test" aria-controls="test" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-left">Voltar</a> <a href="#deploy" aria-controls="deploy" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-right">Avançar</a> </div> </div> </div> <div role="tabpanel" class="tab-pane" id="deploy"> <div class="design-process-content"> <label> <input type="checkbox" id="chk-deploy" onchange="showById('deployScript')"> Executar Build</label> <button tabindex="0" data-placement="top" class="batata2" role="button" data-toggle="popover" data-trigger="focus" title="Dica" data-content="Marque para inserir um script para executar o build do seu projeto.">? </button> <div class="panel mb-3 offset-md-3" id="deployScript" style="display: none;"> Comando de execução: <textarea id="deploy-config" class="form-control" rows="4" cols="50"></textarea> </div> <div> <a href="#package" aria-controls="package" role="tab" data-toggle="tab" class="batata4 btn btn-primary float-left">Voltar</a> <button id="gerar-btn" value="Gerar JenkinsFile" type="button" class="btn btn-primary float-right"> Finalizar </button> </div> </div> </div> </div> </div> </section> </body> <script src="js/index.js"></script> </html>