12/08/2018, 13:11

Giới thiệu về Jenkins: Một Open Source Continuous Integration Server

Jenkins là một máy chủ tích hợp liên tục có thể mở rộng. Nó build và test phần mềm của bạn một cách liên tục và theo dõi sự thi hành và trạng thái của các remote jobs. Nó giúp cho team members và users thường xuyên có được code chạy ổn định. Cài đặt Jenkins Trong bài viết này tôi sử dụng ...

Jenkins là một máy chủ tích hợp liên tục có thể mở rộng. Nó build và test phần mềm của bạn một cách liên tục và theo dõi sự thi hành và trạng thái của các remote jobs. Nó giúp cho team members và users thường xuyên có được code chạy ổn định.

Cài đặt Jenkins

Trong bài viết này tôi sử dụng Ubuntu Server 14.04 LTS.

Update Ubuntu Jenkins source list

luan1@ubuntu:~$ sudo wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key
[sudo] password for luan1:
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEmFQG0RBACXScOxb6BTV6rQE/tcJopAEWsdvmE0jNIRWjDDzB7HovX6Anrq
...
-----END PGP PUBLIC KEY BLOCK-----
luan1@ubuntu:~$ sudo wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
OK
luan1@ubuntu:~$ sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
luan1@ubuntu:~$ sudo apt-get update
Ign http://pkg.jenkins-ci.org binary/ InRelease
Ign http://us.archive.ubuntu.com trusty InRelease
Get:1 http://us.archive.ubuntu.com trusty-updates InRelease [64.4 kB]
...
Reading package lists... Done

Để cài đặt chính xác Jenkins bạn cần phải update lại server và cài git

luan1@ubuntu:~$ sudo apt-get update
luan1@ubuntu:~$ sudo apt-get dist-upgrade
luan1@ubuntu:~$ sudo apt-get install git
luan1@ubuntu:~$ sudo apt-get install jenkins

Sau khi cài đặt xong Jenkins bạn có thể khởi động bằng command:

luan1@ubuntu:~$ sudo service jenkins start
* Starting Jenkins Continuous Integration Server jenkins                                    [ OK ]

Mời bạn ghé thăm server vừa thiết lập xong qua cổng 8080. Ví dụ: http://192.168.2.174:8080/ jenkin_start.png

Sử dụng Jenkins

Chúng ta xem qua giao diện sử dụng của Jenkins. Phía trái là menu, ta có thể dễ dàng thấy được các chức năng chính qua menu điều hướng.

Managing Jenkins Credentials

Ban đầu, Jenkins hoàn toàn mở, ai cũng có thể access vào nếu biết địa chỉ. Do đó để thiết lập an toàn cho Jenkins chúng ta sử dụng trong Manage Jenkins.

jenkins_config.png

Click Configure Global Security:

jenkins_config_security.png

jenkins_config_security2.png

Bạn lưu config lại sau đó quay trở lại màn hình Home, tạo tài khoản mới

jenkins_register_user.png

jenkins_register_success.png

Trở lại trang Configure Global Security, bỏ lựa chọn Allow users to sign up đi, điều này sẽ ngăn người khác tạo tài khoản trên Jenkins của bạn.

security-no-signup.jpg

Menu People

Bạn có thể quản lý người dùng trong mục People ở thanh menu bên trái.

jenkins_people.png Click vào trên của user, chọn Configure để thay đổi thông tin của user đó.

jenkins_configure_user.png

Managing Plugins

jenkins_manage_plugins.png

Để sử dụng được GitHub Repository để build ứng dụng ta cần cài đặt thêm GitHub Plugin

jenkins_github_plugin.png

Click vào tên plugin để xem thông tin về plugin đó. Bạn có thể cài đặt trực tiếp trên giao diện của Jenkins hoặc có thể dowload về máy rồi upload lên bằng tay trong tab Advanced. Tải về tại GitHub Plugin

jenkins_install_plugin.png

Nếu install Github Plugin bị lỗi

java.io.IOException: Failed to dynamically deploy this plugin
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1383)
at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1161)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:110)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Failed to install workflow-aggregator plugin
at hudson.PluginManager.dynamicLoad(PluginManager.java:487)
at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:1379)
... 5 more
Caused by: java.io.IOException: Dependency workflow-basic-steps (1.12), workflow-scm-step (1.12), workflow-cps-global-lib (1.12), workflow-support (1.12), workflow-job (1.12), workflow-durable-task-step (1.12), workflow-cps (1.12), workflow-api (1.12), workflow-step-api (1.12) doesn't exist
at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:533)
at hudson.PluginManager.dynamicLoad(PluginManager.java:477)
... 6 more

Nghĩa là bạn thiếu plugin Pipeline (formerly known as Workflow), bạn cần cài đặt plugin này trước tiên.

Creating Project Items and Sample Builds

Chúng ta sẽ tạo một project sample đơn giản. Chọn New Item Đặt tên cho project và chọn type là Freestyle project. Sau khi click OK ta sẽ qua màn hình configure project. Sử dụng một project test đơn giản là Hello-Jenkins repository từ nguồn Setting Up Continuous Integration & Continuous Deployment With Jenkins (Tuts+). Nếu cuộn xuống dưới, bạn có thể thấy lựa chọn Execute shell. Bạn có thể chạy bất kỳ command hay script nào cần.

shellcommand.jpg

Sau khi nhấn Save, bạn sẽ thấy trang project Jenkins. Trong ví dụ của tôi là Project Test. Ở bên thanh menu bên trái có lựa chọn Build Now, Jenkins sẽ tạo schedule build project của bạn. Build history được hiện thị ngay phía dưới thanh menu. Click vào link để xem lại log build.

jenkins_build_log.png

Click vào Console Output ở menu trái để xem kết quả chi tiết.

jenkins_build_result.png

Trên đây là giới thiệu sơ lược về cách cài đặt và sử dụng Jenkins ở mức cơ bản. Hy vọng sẽ giúp đỡ được các bạn trong công việc và học tập.

0