Após testar a primeira resposta e ainda obter sudo: sorry, you are not allowed to preserve the environment
, decidi procurar uma solução melhor.
Após alguns testes, descobri que a opção que importa é setenv
.
Defaults!/bin/build.sh setenv
Para torná-lo um pouco mais seguro, podemos adicionar algumas configurações:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11/bin"
Defaults!/bin/build.sh setenv,env_reset,env_delete+=PATH,env_delete+=LD_PRELOAD,env_delete+=LD_LIBRARY_PATH,env_delete+=SSH_AUTH_SOCK,env_delete+=PYTHONPATH,env_delete+=PERL5LIB
%deploy ALL=(ALL) NOPASSWD: /bin/build.sh *