Adicionei um novo emprego na Jenkins, que quero agendar periodicamente.
No trabalho de configuração , estou marcando a caixa de seleção "Compilar periodicamente" e no campo de texto Agendar adicionamos a expressão:
15 13 * * *
Mas não é executado no horário agendado.
É o procedimento correto para agendar um trabalho?
O trabalho deve ser executado às 04h20, mas não está sendo executado.
Respostas:
Ao definir o período de agendamento,
15 13 * * *
você deve informar ao Jenkins para agendar a construção todos os dias de todos os meses de cada ano, no 15º minuto da 13ª hora do dia.Jenkins usou uma expressão cron e os diferentes campos são:
Se você deseja agendar sua construção a cada 5 minutos, isso fará o trabalho:
*/5 * * * *
Se você deseja agendar sua construção todos os dias às 8h00, isso fará o trabalho:
0 8 * * *
Nas últimas versões (2014), o Jenkins possui um novo parâmetro
H
(extraído da documentação do código do Jenkins ):Observe também que:
Mais exemplo de uso de 'H'
fonte
* */6 * * *
vai funcionar?Jenkins permite configurar várias vezes, separadas por quebras de linha.
Se você precisar construir diariamente às 7h, juntamente com todos os domingos às 16h, o abaixo funciona bem.
fonte
H(0-0)
você pode simplesmente usar0
a vantagem de usarH
é que nem todos os empregos tentará executar, ao mesmo tempo exatamente, mas sim tentar obter "a próxima disponível time-slot"*/5 * * * *
significa a cada 5 minutos5 * * * *
significa o quinto minuto de cada horafonte
O formato é o seguinte:
MINUTO (0-59), HORA (0-23), DIA (1-31), MÊS (1-12), DIA DA SEMANA (0-6)
A letra H, representando a palavra Hash, pode ser inserida em vez de qualquer um dos valores. Ele calculará o parâmetro com base no código de hash do nome do seu projeto.
Isso é feito para que, se você estiver criando vários projetos em sua máquina de construção ao mesmo tempo, digamos meia-noite todos os dias, nem todos eles iniciam sua execução de construção ao mesmo tempo. Cada projeto inicia sua execução em um minuto diferente, dependendo do seu código de hash.
Você também pode especificar o valor entre os números, ou seja, H (0,30) retornará o código de hash do projeto onde os possíveis hashes são de 0 a 30.
Exemplos:
Comece a construir diariamente às 08:30 da manhã, de segunda a sexta-feira: 30 08 * * 1-5
Construção diária durante a semana, duas vezes ao dia, às 12:00 e meia-noite, 00:00, domingo a quinta-feira: 00 0,12 * * 0-4
Comece a compilar diariamente no final da tarde entre 16:00 - 16:59 ou 16:00 -16: 59, dependendo do hash do projeto: H 16 * * 1-5
Comece a construir à meia-noite: @midnight ou comece a construir à meia-noite, todos os sábados: 59 23 * * 6
Todo primeiro dia de cada mês entre as 2:00 e as 02:30: H (0,30) 02 01 * *
fonte
As etapas para agendar trabalhos em Jenkins:
@midnight
Nota : no campo agendamento, é possível ver a última e a próxima data / hora executadas.
@hourly
,@daily
,@weekly
,@monthly
,@midnight
@hourly
-> Construa a cada hora no início da hora ->0 * * * *
@daily, @midnight
-> Construa todos os dias à meia-noite ->0 0 * * *
@weekly
-> Construir todas as semanas à meia-noite no domingo de manhã ->0 0 * * 0
@monthly
-> Construir todos os meses à meia-noite do primeiro dia do mês ->0 0 1 * *
fonte
Para agendar um trabalho cron a cada 5 minutos, é necessário definir as configurações do cron assim:
fonte
Tente usar 0 8 * * *. Deveria funcionar
fonte
Jenkins usa o formato Cron na programação. Você pode consultar este link para obter mais detalheshttps: //en.wikipedia.org/wiki/Cron. Mais uma coisa, Jenkins nos fornece uma visualização muito útil. Por favor, dê uma olhada na imagem.
Espero que isso ajude. obrigado
fonte
Tente isso.
Verifique a captura de tela abaixo
URL referido - https://www.lenar.io/jenkins-schedule-build-periodically/
fonte
Para quem não quiser esperar a hora inteira para ver se uma construção específica é acionada:
Para obter o hash, você pode fazer o download do hasher aqui . Use o nome completo do projeto, conforme digitado na página da filial, e imprima-o assim:
fonte