Xem bài trước: Devops Install – Bài 2(Phần 1): Cài đặt Gitlab
Mục đích chính của việc tích hợp cấu hình Email (SMTP) trên GitLab là để kích hoạt các tính năng thông báo (notifications) và xác thực/quản lý tài khoản quan trọng của nền tảng.

Dưới đây là các mục đích chi tiết:
1. Thông báo cho người dùng và nhóm
Đây là mục đích phổ biến nhất. GitLab sử dụng email để thông báo cho người dùng về các sự kiện quan trọng xảy ra trong các dự án và nhóm của họ:
- Hoạt động trên Kho mã nguồn:
- Thông báo khi có một Merge Request (MR) mới được tạo, cập nhật, hoặc được gán cho bạn để xem xét (review).
- Thông báo khi mã nguồn của bạn được hợp nhất (merged) hoặc bị từ chối.
- Hoạt động Quản lý Dự án (Issues):
- Thông báo khi có một Issue mới được tạo hoặc được gán cho bạn.
- Thông báo về các bình luận mới (@mentions) trong Issues hoặc MRs.
- Thông báo CI/CD:
- Thông báo khi một pipeline thành công hoặc thất bại (đặc biệt quan trọng đối với người duy trì dự án).
2. Quản lý Tài khoản và Bảo mật
Email là kênh quan trọng để quản lý và bảo mật tài khoản người dùng:
- Khôi phục Mật khẩu: Gửi liên kết khôi phục mật khẩu an toàn khi người dùng quên mật khẩu.
- Xác minh Tài khoản: Yêu cầu người dùng xác minh địa chỉ email của họ khi đăng ký tài khoản mới.
- Thông báo Bảo mật: Gửi thông báo khi có các hoạt động đáng ngờ trên tài khoản hoặc thay đổi cài đặt bảo mật quan trọng.
3. Gửi thông báo cho Quản trị viên
GitLab dùng email để thông báo cho Quản trị viên hệ thống (đặc biệt trong phiên bản self-managed) về:
- Các sự kiện cần chú ý của hệ thống.
- Cảnh báo về tình trạng hệ thống hoặc lỗi.
Nói nhìu rồi (AI nói), cấu hình tích hợp thôi:
Ở bài này chúng ta dùng gmail để cấu hình: bạn cần có 1 email và cấu hình 1 tài khoản mật khẩu ứng dụng (tự search nhé, ko chỉ đâu)
chỉnh sửa file
vi /etc/gitlab/gitlab.rb
Thêm cấu hình Email SMTP nào config
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com" # server mail smtp của google
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "[email protected]" # điền email của bạn
gitlab_rails['smtp_password'] = "vslmdsbgwskjvnxn" # thông tin token mk ứng dụng
gitlab_rails['smtp_domain'] = "smtp.gmail.com" # server mail smtp của google
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer'
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
sau khi cấu hình reload lại config của gitlab
gitlab-ctl reconfigure
test nhẹ cái mail thôi
gitlab-rails console
đợi xíu load xong nhập thông tin test
Notify.test_email('[email protected]','Message Subject','Message Body').deliver_now
kết quả:

kiểm tra mail sẽ nhận đk nhé

OK, là xong giờ test thôi. bạn tạo 1 user với tài khoản email có thật nhé. thì gitlab sẽ gửi 1 email về tài khoản bạn đăng ký để set mật khẩu và đăng nhập.
Ví dụ:

Kiểm tra email xem có nhận được mail ko nha

Hên quá. có mail về rồi. bạn nhấn vào Click here to set your password trong mail để redirect đến trang gitlab và set mật khẩu nhé

OK vậy là xong.
Thanks!!!