Cada vez que estas configurando el Pipeline para desplegar una aplicación hay ciertos comandos que debes ejecutar como ROOT, por ejemplo:

  • Reiniciar un servido o una base de datos
  • Limpiar la basura
  • Configurgando alguna  herramientas de monitorieo

hacer esto manualmente es una tarea tediosa, y ejcutarla desde un pipeline que es administrado por un usuario remoto es imposible a menos que este usuario sea root, que implica un riesgo enorme de seguridad y no es lo recomendable.

Como unaposible solución a esto es darle permiso al usuario remoto a ejecutar comandos root sin pedir password, pero eso es tan peligroso como hacerlo con el propio usuario root.

Una solución un poco mas cerrada es solamente darle permiso de ejecución a un script en especifico sin pedirle contraseña o sin requerir que sea usuario root.

Para esto sigue estos pasos

  1. Como root abre /etc/sudoers para editar
  2. Agrega esto: <pipelin-username> ALL = (root) NOPASSWD: <script-path>
  3. Guarda el archivo,

Luego, asegura el script para que nadie mas que root lo pueda cambiar

  1. Cambia el propietario: chown root:wheel <script-path>
  2. Cambia los permisos: chmod u+rwx <script-path>