Cài đặt Jenkins và xác thực bằng tài khoản Google Mail
Jenkins
3
Google Login
1
White

Ha Nguyen viết ngày 16/03/2016

Mở đầu

Jenkins hỗ trợ nhiều cách xác thực User khác nhau : LDAP, Jenkins Database , Unix User , ... Đối với team/company sử dụng tài khoản Gmail , Google Apps Email thì Jenkins cũng hỗ trợ phương thức xác thực bằng email này. Trong bài Post này, mình sẽ hướng dẫn cấu hình Jenkins sử dụng phương thức này.

Cài đặt Jenkins

  • Jenkins được cài đặt trên CentOS 6
  • Cần một domain theo chuẩn FQDN - (Vì Google đòi hỏi như vậy)

Cài đặt Jenkins theo hướng dẫn của Jenkins thôi : Install Jenkins on Red Hat Distributions

Install Jenkins Stable

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins -y 

Install JAVA

sudo yum install java -y

Start Jenkins

sudo service jenkins start
sudo chkconfig jenkins on

Jenkins default được start lên ở Port 8080 , giờ mình đã có thể access vào Jenkins Web bằng địa chỉ : http://192.168.56.101:8080/

Quản trị Jenkins

Các tác vụ quản trị Jenkins được thực hiện trong màn hình này : Manage Jenkins
alt text

Trong bài viết này, mình chỉ quan tâm đến 2 mục :

  • Manage Plugins
  • Configure Global Security

Cấu hình Jenkins xác thực bằng tài khoản Google Mail

1. Cài đặt Plugin Google Login

Search Plugin Google Login trong Tab avaiable
alt text

Chọn : Install without restart để Jenkins thực hiện install Plugin

alt text

Sau khi install xong Plugin này, mình vào mục Configure Global Security , stick vào Enable security , thì sẽ thấy cách authentication bằng Google

alt text

Note: bài này chỉ nói về : Authentication , không nói về Authorization, nên ở mục Authorization, mình sẽ chọn Logged-in users can do anything

2. Cấu hình Google Account

Jenkins giờ đã có Plugin Google Login, giờ việc của mình là tạo OAuth 2.0 credentials trong Google Developers Console

  • Login vào Google Developers Console
  • Tạo Project mới
  • Tạo Oauth consent screen alt text
  • Tròng APIs & Auth -> Credentials, tạo Client ID mới
  • Chọn kiểu là "Web Application"
  • Mục authorized redirect URLs nên là JENKINS_ROOT_URL/securityRealm/finishLogin

alt text

3. Cấu hình Jenkins Security

Sau khi đã có ClientID và secret, mình điền vào trong Jenkins.

alt text

4. Reverse Proxy

Do Google không cho phép sử dụng IP, và cả Port trong URL Redirect, nên mình buộc phải :

  • Sử dụng tên miền dạng FQDN - có thể add Host hoặc Local DNS
  • Sử dụng Haproxy, Nginx để làm reverse proxy

Mình add Host ở máy mình, sử dụng tên miền là : jenkins.mycompany.com ( Lưu ý là domain này phải giống với domain trong authorized redirect URLs khi tạo Client ID ) và dùng haproxy để làm reverse proxy.

sudo yum install haproxy -y 

Config haproxy :

listen jenkins
    balance     roundrobin
    bind        *:80
    server      jenkins 127.0.0.1:8080 check

Test

Truy cập vào Jenkins http://jenkins.mycompany.com/ và Click vào Login , Jenkins sẽ redirect sang Google để kiểm tra .
Và đây là kết quả :
alt text

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Ha Nguyen

3 bài viết.
11 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
12 2
A. Vấn đề Ở các công ty mình làm việc (không biết các chỗ khác thế nào), Developer hoạt động độc lập, không được nhiều quyền ( không được quyền ro...
Ha Nguyen viết hơn 2 năm trước
12 2
White
7 1
Ngày xửa ngày xưa ... Ngày mới chập chững bước vào nghề System Engineer , được sếp hướng dẫn và giao cho task : compile HTTPD, PHP lên Server. Lúc...
Ha Nguyen viết hơn 2 năm trước
7 1
Bài viết liên quan
White
6 1
Mở đầu Trong quy trình phát triển một phần mềm, Test nói chung và UT nói riêng luôn là những process rất quan trọng. Tuy nhiên khi Application càn...
Vu Nhat Minh viết hơn 3 năm trước
6 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
3 bài viết.
11 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!