Gilab es un software para gestionar repositorios de software. Existe github y gitlab tiene también su repositorio público. Gitlab permite la instalación del software en tu propia infraestructura.
En éste otro post explicaba como instalarlo y actualizarlo con sus repositorios. Hoy veremos como configurar gitlab para que mande correos electrónicos.
Lo primero que tendremos que hacer es modificar el fichero de configuración que se encuentra en /etc/gitlab/gitlab.rb, buscar las siguientes líneas, descomentarlas y configurarlas de la siguiente forma (para que funcione con la configuración del servidor de correo electrónico instalado con modoboa)
# vi /etc/gitlab/gitlab.rb gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "mail.capa8.net" gitlab_rails['smtp_port'] = 587 gitlab_rails['smtp_user_name'] = "noreply@capa8.net" gitlab_rails['smtp_password'] = "xxxxxxxxxxx" gitlab_rails['smtp_domain'] = "capa8.net" gitlab_rails['smtp_authentication'] = "login" gitlab_rails['smtp_enable_starttls_auto'] = true gitlab_rails['smtp_tls'] = false gitlab_rails['smtp_pool'] = true gitlab_rails['gitlab_email_enabled'] = true gitlab_rails['gitlab_email_from'] = 'noreply@capa8.net' gitlab_rails['gitlab_email_display_name'] = 'GitLab Capa8' gitlab_rails['gitlab_email_reply_to'] = 'noreply@capa8.net'
A continuación ejecutamos lo siguiente para aplicar la nueva configuración
# gitlab-ctl reconfigure
Una vez realizado el reconfigure, entramos en la consola de gitlab y comprobamos que la configuración se haya aplicado y mandamos un correo electrónico de prueba
# gitlab-rails console -e production -------------------------------------------------------------------------------- Ruby: ruby 3.0.6p216 (2023-03-30 revision 23a532679b) [x86_64-linux] GitLab: 15.11.0 (96ee37680b6) FOSS GitLab Shell: 14.18.0 PostgreSQL: 13.8 ------------------------------------------------------------[ booted in 32.38s ] Loading production environment (Rails 6.1.7.2) irb(main):001:> Notify.test_email('info@capa8.net', 'Hello World', 'This is a test message').deliver_now
Y si todo es correcto, deberías recibir un correo electrónico de prueba.