O trabalho de Jenkins usando VPN?


7

Existe uma maneira de conectar-se a uma VPN durante o trabalho de Jenkins? (estilo livre ou pipeline, posso trabalhar com qualquer um).

Examinei a lista de plugins imaginando que alguém poderia ter desenvolvido alguma coisa, mas a única página encontrada foi essa página do OpenConnect sem nenhum código real desenvolvido, de modo que parece estar fora do ar.

Estamos executando o Jenkins nas caixas AWS do Ubuntu, se isso mudar alguma coisa. Eu preferiria a capacidade de conectar e desconectar em um único trabalho, em vez de executar tudo na VPN.


Gostaria apenas de reiterar (para o OP e outros que possam achar isso) que você pode fazer isso de fato se ainda estiver procurando, por favor, dê uma olhada na minha resposta.
ZaxLofful

Respostas:


3

Eu acho que é muito difícil, se não impossível, conseguir algo assim.

O motivo é que, uma vez que a máquina que executa o Jenkins está conectada à VPN, ela também é efetivamente desconectada da rede original à qual foi conectada, o que significa que o Jenkins nessa máquina perderá a conexão com o restante da configuração do Jenkins.

A única maneira de funcionar seria se usássemos configurações Jenkins de uma máquina completamente independentes.


que chatice, mas isso faz todo o sentido. Obrigado!
Alex

isso não é exato, no momento da me escrever este comentário, nem eu acho que isso nunca foi .... apenas dizendo
ZaxLofful

@ZaxLofful O cliente VPN pelo menos altera a tabela de roteamento, tornando a rede local inacessível (normalmente, o que quero dizer com "efetivamente desconectado"). Portanto, pelo menos você precisaria executar outro script para restaurar cuidadosamente a conectividade sem prejudicar o tráfego da VPN. E, se o cliente VPN não for inteligente o suficiente para reverter para a tabela de roteamento original devido à intervenção desse script, você também precisará intervir após a desconexão da VPN. Não sei se algo além de roteamento também precisa ser abordado.
Dan Cornilescu 14/09

@ DanCornilescu: Gostaria novamente de declarar que essa não é a ação padrão que acontece, a maioria dos clientes VPN atualmente tem como padrão dividir o encapsulamento. As VPNs de consumidor destinadas a circunavegar uma rede não funcionarão, mas não é disso que estamos falando aqui.
ZaxLofful 27/02/19

2

Se você deseja fazer uma VPN para uma tarefa de jenkins, use o plug-in OpenConnect conforme mencionado.

Aqui estão as etapas para fazer isso:

No linux (baseado em debian)

sudo apt-get install openconnect

Adicione as seguintes linhas na parte inferior do arquivo / etc / sudoers (configuração do ubuntu)

jenkins ALL=NOPASSWD:/usr/sbin/openconnect*
jenkins ALL=NOPASSWD:/bin/kill*

Você receberá uma opção na tarefa de execução do Jenkins chamada:

Connect to Cisco AnyConnect VPN

Também pode ser encontrado aqui: /programming/35151072/deploy-with-jenkins-to-vpn/43357784#43357784

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.