Como instalar o Jenkins no Windows Server 2012

13

Isso pode parecer uma pergunta trivial, mas aqui está o que está acontecendo:

  1. Pego a versão mais recente do Jenkins como instalador nativo para Windows (1.491 no meu caso)
  2. Configurei um Windows Server 2012 (imagem oficial da versão, sem candidato a versão) e instalo todas as atualizações
  3. Eu tento executar a instalação do Jenkins.

Tudo está funcionando bem no processo de instalação, exceto na parte em que ele tenta iniciar o serviço. Nesse ponto, sou informado de que não tenho privilégios suficientes para iniciar os serviços do sistema. Isso tem funcionado no 2k8R2 sem problemas. Estou conectado como administrador, criado durante a instalação do servidor e é o único usuário na máquina.

A mensagem completa que recebo é:

O serviço 'Jenkins' (Jenkins) falhou ao iniciar. Verifique se você possui privilégios suficientes para iniciar os serviços do sistema.

Alguém mais está tendo esses problemas? Eu acho que os internos do Server 2012 mudaram a maneira da instalação e o instalador do Jenkins não foi criado para isso.

Se alguém puder me dizer a qual grupo tenho que adicionar o administrador ou me fornecer uma solução alternativa para esse problema, isso ajudará bastante.

HaMster
fonte

Respostas:

13

É necessário instalar o .net 3.5 (mesmo se você tiver o .net 4+ instalado)

Você faz isso através do Gerenciador do Servidor:

  • Configurar servidor local
  • Adicionar funções e recursos
  • Clique em Avançar até chegar à seção de recursos
  • Marque a caixa de seleção .net 3.5 (verifiquei também os subitens para uma boa medida)
  • Se você receber um aviso sobre a necessidade de especificar um caminho alternativo, então:
    • Insira a mídia de instalação do Windows.
    • Clique em Especificar um caminho de origem alternativo
    • Coloque D: \ sources \ sxs no campo de caminho (clique em Ok)
  • Clique em Instalar

Depois de fazer isso, você poderá instalar o Jenkins através do instalador do msi. Ele poderá iniciar com êxito o serviço Jenkins agora.

Eu acho que o Jenkins tenta instalar o .net 3.5, mas porque a mídia de instalação estava 'ausente', ele trava (como está sendo executado em segundo plano) e é por isso que realmente atinge o tempo limite

DarcyThomas
fonte
Não sei porquê, mas o .NET Framework 3.5 parece ser o único requisito faltando ... Obrigado por esta dica, que é a fixação do problema original
hamster
3

Eu fiz isso finalmente!

Não só precisei instalar o .NET 3.5 (Obrigado, DarcyThomas), mas também descobri que precisava adicionar um arquivo de configuração ao diretório de instalação.

Adicione um arquivo chamado jenkins.exe.config com o seguinte conteúdo ao diretório de instalação:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration> 

Acontece que, ao iniciar o serviço, o Windows tenta acessar a Internet para baixar um certificado para confirmar o assinante do executável. Portanto, no meu caso em que o servidor não tem acesso à Internet, ele falha. Encontrei a solução aqui .

Espero que isso salve a todos as horas de dor que acabei de passar. Felicidades.

Ben Cull
fonte
Qual edição do Windows Server 2012 você estava executando? Eu nunca tive que fazer isso na minha edição Standard.
HaMster 04/02
Datacentro do Windows Server 2012 - Embora eu pensasse que era principalmente a nossa arquitetura de rede que quebrou as coisas, e não a edição em si.
quer
2

Encontrei uma solução com base nesta resposta em janeiro. O problema é que o Windows está procurando o certificado para o serviço e seu servidor não tem acesso à Internet. Sua melhor opção é habilitar o acesso da Internet ao servidor para a instalação do Jenkins. Você não precisará dele quando o Jenkins estiver instalado.

Você também pode tentar desativar a verificação de certificado dessa maneira (embora não tenha certeza se isso funcionará.)

1) Crie o diretório: C:\Program Files (x86)\Jenkins

2) Crie um arquivo de texto chamado jenkins.exe.config

3) Adicione o seguinte texto ao arquivo de texto:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration>

4) Execute a instalação como um Administrator

Serj Sagan
fonte
Você realmente não deve postar links, que tal copiar e colar sua outra resposta aqui?
precisa saber é o seguinte
Ok ... isso é feito
Serj Sagan
2
As respostas de copiar / colar geralmente são desencorajadas se não forem citadas / citadas corretamente (isso é plágio).
ashes999
0

Crie uma tarefa agendada do Windows que seja executada apenas quando o Windows for iniciado. Sob algumas distribuições do Windows, a execução do Jenkins como um serviço simplesmente não funciona imediatamente. Essa abordagem é um hack, mas funciona. Eu usei em vários nós do Windows.

Pessoalmente, acho que os documentos Jenkins no Windows precisam de mais polimento nesse sentido. Talvez um pouco mais de trabalho sobre isso também ...

Eu espero que isso ajude.

carlspring
fonte
Pensei na mesma coisa e agora lido dessa maneira. No entanto, quero dar uma introdução rápida a alguns novatos no tópico e seria bom se Jenkins estivesse trabalhando. Acho que vou alertá-los sobre esse problema ou me envolver. Mas obrigado pela dica.
21712 HaMster
Por favor, escreva de volta, se uma solução melhor for encontrada ou se você finalmente conseguir que eles corrijam isso. Eu tive que viver com isso por mais de dois anos no meu trabalho anterior e foi irritante. O instalador do JNLP não funciona realmente em muitos casos (este é um deles). Acho que, em vez de tentarem usar as DLLs estúpidas do Windows, eles deveriam ... invocar um script de linha de comando que o adicione como um serviço ou crie um trabalho agendado. Eu acredito que isso deve ser bastante fácil.
carlspring
Nunca tive problemas com o instalador nativo no Windows, fornecido na placa de download da Jenkins-Homepage . A primeira vez que não terminei a instalação com sucesso foi no caso descrito acima, mesmo que eu tenha feito várias tentativas com cenários diferentes. Então, como eu disse eu acho que este é um problema específico Server 2012
hamster
Ah, eu já vi isso no Windows Server 2008 todas as vezes. Com certeza.
carlspring
É um problema de acesso à Internet Windows Server não ter
Serj Sagan