Chame sudo do Jenkins

Chame sudo do Jenkins

Eu tenho uma máquina de construção que possui um usuário abccom acesso limitado ao sudo. Quando verifico o código-fonte e executo meu script de construção, ele funciona bem. O script de construção contém sudochamadas para as quais não diz "sudo: nenhum tty presente e nenhum programa askpass especificado". Mas quando fiz a mesma coisa com Jenkins em uma máquina de compilação adicionada como escrava, ele mostra "sudo: sem tty presente e sem programa askpass especificado".

Eu encontrei uma solução dizendo para comentar Default requirettyno arquivo /etc/sudoers. Mas não tenho acesso a este arquivo.

Como posso superar esse problema?

Responder1

Ele falha porque sudoestá tentando solicitar a senha do root e não há nenhum pseudo-tty alocado.

Você deve fazer login como root ou configurar as seguintes regras em seu /etc/sudoers (ou sudo visudo:):

# Members of the admin group may gain root privileges.
%admin  ALL=(ALL) NOPASSWD:ALL

Em seguida, certifique-se de que seu usuário Jenkins pertença ao admingrupo (ou wheel).

Idealmente (mais seguro) seria limitar os privilégios de root apenas a comandos específicos que podem ser especificados como%admin ALL=(ALL) NOPASSWD:/path/to/program

Responder2

Existem duas opções: comente a Defaults requirettyconfiguração de /etc/sudoers como você mencionou ou use o -targumento de alocação pseudo-tty ( ) para ssh.

Tente o seguinte no seu script Jenkins:

ssh -t 127.0.0.1 "sudo command"

Embora você precise ter sshchaves pré-compartilhadas configuradas para você mesmo e executá-las manualmente uma vez para adicionar uma entrada a hosts conhecidos, como alternativa, adicione o -o StrictHostKeyChecking=noargumento to sshpara ignorar isso.

Responder3

Maneira fácil de fazer isso
insira a descrição da imagem aqui

$ sudo visudo
## Now add the below lines in your sudoers file :
jenkins ALL=(ALL) NOPASSWD: ALL

$service jenkins start

Responder4

Se você estiver executando comandos via ssh, é necessário marcar a opção "Exec in pty". insira a descrição da imagem aqui

informação relacionada