반응형

지난번 gitlab 을 ocp에 설치하였다.

 

Gitlab-ce-14.10.5 Omnibus 버전 OCP에 설치

이번에 프로젝트에서 gitlab 업그레이드 부분이 생겼는데, gitlab을 새로 올린 뒤 project 를 export->import로 진행하기로 했다. 먼저 AS-IS 환경을 보자. 1. As-Is 환경 PaaS Azure Redhat Openshift 4.2 Gitlab..

flowlog.tistory.com

이번엔 SMTP 설정을 포스팅할한다.

 

smtp 서버는 google을 이용할 것이다.

google smtp 서버 설정

gmail 에 접속 후 톱니바퀴 > 모든 설정보기 > 전달 및 POP/IMAP

에서 POP를 활성화 해주면 된다.

추가로 smtp 서버를 이용할 때 google id 와 password를 필요로 하는데,

앱 인증용 비밀번호를 사용하면 발급하여 구글 계정 패스워드대신 사용하여 유출을 막을 수 있다.

앱 인증 토큰은 아래 페이지(google 계정)로 이동한 후

 

Google 계정

보안 계정을 안전하게 보호하기 위해 보안 설정을 검토 및 조정하고 권장사항을 받아보려면 계정에 로그인하세요.

myaccount.google.com

보안탭으로가 앱 비밀번호를 설정하면 된다.

생성된 패스워드를 gitlab.rb 파일에서 'smtp_password' 항목에 적어주자.

 

gitlab.rb 수정

gitlab.rb 에 smtp 설정은 아래 페이지를 참고하여 작성하면 된다.

 

SMTP settings | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

gitlab.rb 에 아래내용 추가

# gmail SMTP
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "dkttkemf@gmail.com"
gitlab_rails['smtp_password'] = "#########################"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'peer' # Can be: 'none', 'peer', 'client_once', 'fail_if_no_peer_cert', see http://api.rubyonrails.org/classes/ActionMailer/Base.html

저장 후 설정 리로드

$ gitlab-ctl reconfigure
#만약적용이 안되었다면 재기동
$ gitlab-ctl restart

 

테스트

gitlab-ce pod 에 접속하여 명령어를 날려 테스트할 수 있다.

# gitlab-rails console
> Notify.test_email('dkttkemf@naver.com', '메일제목입니다.', '메일내용입니다.').deliver_now

아래는 전체로그 이다.

# gitlab-rails console
--------------------------------------------------------------------------------
 Ruby:         ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
 GitLab:       15.1.5 (0ab7bf7ee38) FOSS
 GitLab Shell: 14.7.4
 PostgreSQL:   13.7
------------------------------------------------------------[ booted in 30.82s ]
Loading production environment (Rails 6.1.4.7)

irb(main):004:0> Notify.test_email('dkttkemf@naver.com', '메일제목입니다.', '메일내용입니다.').deliver_now
Delivered mail 630850b61ca15_9ef463c19078@gitlab-ce-1-7whhj.mail (4505.9ms)
=> #<Mail::Message:289380, Multipart: false, Headers: <Date: Fri, 26 Aug 2022 04:48:54 +0000>, <From: GitLab <gitlab@lab.apps.f7bktgzv.australiaeast.aroapp.io>>, <Reply-To: GitLab <noreply@lab.apps.f7bktgzv.australiaeast.aroapp.io>>, <To: dkttkemf@naver.com>, <Message-ID: <630850b61ca15_9ef463c19078@gitlab-ce-1-7whhj.mail>>, <Subject: 메일제목입니다.>, <Mime-Version: 1.0>, <Content-Type: text/html; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>, <Auto-Submitted: auto-generated>, <X-Auto-Response-Suppress: All>>

 

결과 확인

로그인 화면에서 패스워드 찾기를 눌러 메일을 입력해주면,

이렇게 메일이 날라온다.

 

끝.

반응형
복사했습니다!