sudo
é o caminho a percorrer. Crie um novo grupo ( appadmin
por exemplo), coloque o seu usuário jenkins
nele, e usando visudo
adicione uma nova entrada com uma lista limitada de comandos, por exemplo:
Cmnd_Alias MYAPP_CMNDS = /bin/systemctl start myapp, /bin/systemctl stop myapp
%appadmin ALL=(ALL) MYAPP_CMNDS
Se você quiser que o grupo appadmin
consiga operar o serviço sem inserir uma senha primeiro (útil se o usuário for autenticado apenas por uma chave SSH, por exemplo),
Cmnd_Alias MYAPP_CMNDS = /bin/systemctl start myapp, /bin/systemctl stop myapp
%appadmin ALL=(ALL) NOPASSWD: MYAPP_CMNDS