Hướng dẫn cài đặt jenkins cho máy server

Jenkins là một công cụ tích hợp liên tục mã nguồn mở được viết bằng Java. Jenkins cung cấp các dịch vụ tích hợp tùy chỉnh để phát triển phần mềm. Jenkins là một hệ thống dựa trên máy chủ, được sử dụng bởi nhiều nhóm phát triển.

Câu hỏi: Tại sao tôi nên sử dụng Jenkins?

Bạn nên sử dụng Jenkins nếu muốn tăng tốc Vòng đời phát triển phần mềm (SDLC). Jenkins cho phép bạn tích hợp xây dựng, triển khai và thử nghiệm trên nhiều môi trường khác nhau, đồng thời giảm thời gian chờ đợi cho các nhóm phát triển của bạn. Cuối cùng, vì cho phép bạn liên tục tích hợp, nên Jenkins rất phù hợp với phương pháp DevOps và phương pháp Agile sử dụng các chu kỳ lặp nhanh.

Câu hỏi: Tại sao tôi nên chạy Jenkins trên AWS?

AWS cung cấp tài nguyên cơ sở hạ tầng đáng tin cậy, có thể mở rộng và an toàn, lý tưởng để chạy các ứng dụng như Jenkins. Bằng cách chạy Jenkins trên môi trường điện toán AWS, bạn chỉ trả tiền cho những gì mình sử dụng và bạn có thể tăng hoặc giảm dung lượng sao cho phù hợp với nhu cầu cụ thể của mình.

Câu hỏi: Tôi sẽ sở hữu môi trường Jenkins của mình chứ?

Đúng vậy - tất cả các tài nguyên được tạo khi thực hiện hướng dẫn Bắt đầu này vẫn là của bạn và sẽ nằm trong tài khoản của bạn. Chúng sẽ tồn tại cho đến khi bạn quyết định chấm dứt phiên bản Amazon EC2.

Câu hỏi: Chi phí của Jenkins là bao nhiêu?

Jenkins là phần mềm mã nguồn mở miễn phí. Chi phí duy nhất của bạn là cơ sở hạ tầng cơ bản mà Jenkins chạy. Để biết thêm thông tin về chi phí, vui lòng xem mục Dịch vụ được sử dụng và chi phí.

Câu hỏi: Làm thế nào tôi có thể bảo mật Jenkins trên AWS?

Bạn nên sử dụng Nhóm bảo mật và sử dụng mật khẩu mạnh. Bạn cũng nên đảm bảo rằng bản cài đặt EC2 và Jenkins của bạn được cập nhật với các bản vá bảo mật mới nhất. Nhóm bảo mật hoạt động như tường lửa ảo, trạng thái kiểm soát lưu lượng cho một hoặc nhiều trường hợp. Nếu có thể, hãy thu hẹp phạm vi IP để chỉ còn các địa chỉ IP nguồn có liên quan. Không mở bất kỳ cổng TCP hoặc UDP bên ngoài nào (TCP 80 và 8080 là đủ). Khi thiết lập mật khẩu cho Jenkins, hãy thực hiện theo các biện pháp thực hành tốt nhất về mật khẩu thông thường và sử dụng các ký tự chữ-chữ số viết thường và viết hoa ngoài các ký hiệu (ví dụ: /, ., !, *…). Bạn có thể đảm bảo rằng phiên bản Amazon Linux của bạn đã cài đặt các gói mới nhất bằng cách chạy cập nhật yum. Thao tác này cũng sẽ cập nhật Jenkins nếu bạn đã cài đặt bằng Yum, theo hướng dẫn trong mục này.

Câu hỏi: Tôi có thể chạy Jenkins trong một mạng con riêng không?

Bạn có thể cài đặt Jenkins trên phiên bản EC2 là một phần của mạng con công cộng hoặc riêng. Nếu muốn đặt phiên bản vào một mạng con riêng, bạn sẽ cần đảm bảo rằng bạn có thể truy cập vào giao diện người dùng của Jenkins. Nếu đang kết nối qua Internet, bạn có thể chọn tạo nhóm mục tiêu Jenkins và sử dụng Application Load Balancer để tạo điểm cuối công khai cho phiên bản được lưu trữ riêng tư của bạn. Nếu bạn đang kết nối từ trung tâm dữ liệu của riêng mình, bạn sẽ muốn thiết lập VPN hoặc kết nối với Jenkins thông qua Direct Connect.

Câu hỏi: Làm thế nào tôi có thể thay đổi quy mô Jenkins?

Có một số cách bạn có thể đảm bảo rằng Jenkins sẽ theo kịp nhu cầu CI/CD của bạn. Một cách đơn giản là chia tỷ lệ theo chiều dọc của phiên bản EC2 bằng cách thay đổi kích thước phiên bản. Một cách khác là định cấu hình Jenkins Amazon EC2 Container Service Plugin để triển khai các tác vụ cho các nhiệm vụ phụ của Jenkins trên cụm ECS.

Khi tìm hiểu về tác vụ tự động hóa, chắc chắn bạn sẽ nghe nhắc nhiều đến thuật ngữ Jenkins. Vậy Jenkins là gì? Cách thức hoạt động của nó như thế nào? Tất cả lời giải sẽ có trong bài chia sẻ sau. Mời bạn cùng theo dõi nhé!

Jenkins là gì?

Jenkins là một mã nguồn mở có khả năng thực hiện tích hợp liên tục (Continuous Integration, viết tắt là CI), và xây dựng những tác vụ tự động hóa.

Nó có thể tích hợp nhiều mã nguồn của tất cả các thành viên trong nhóm một cách nhanh chóng, liên tục, theo dõi quá trình thực thi, trạng thái triển khai bằng các bước kiểm tra (như Integration test, và units test). Điều này góp phần hoàn thiện sản phẩm, giúp chúng hoạt động ổn định.

Hướng dẫn cài đặt jenkins cho máy server

  • CI Jenkins là gì?

    CI (Continuous Integration) là sự tích hợp liên tục, và nhanh chóng các mã nguồn của toàn bộ thành viên có trong nhóm.

    Quá trình làm việc của CI gồm:

    - Đầu tiên, tất cả thành viên trong nhóm lập trình tiến hành pull code từ repo về branch nhằm thực hiện một chức năng cụ thể đã được xác định.

    - Tiếp theo, họ thực hiện lập trình, kiểm tra code để đảm bảo chất lượng toàn bộ mã nguồn, chức năng thực hiện đã đáp ứng yêu cầu.

    - Khi tất cả các thành viên đã hoàn tất code thì việc commit vào branch của nhóm cũng được sẵn sàng.

    - Thành viên thực hiện cập nhật code mới trên repo về local repo.

    - Tích hợp code và xử lý các vấn đề xung đột.

    - Xây dựng, đảm bảo mã nguồn đạt yêu cầu của các đợt kiểm tra tại local repo.

    - Commit code lên repo.

    - Máy chủ CI thu thập những thay đổi mã nguồn thông qua repository. Sau đó, nó có thể tự động xây dựng hoặc kiểm tra, rồi phát ra thông báo pass hay failure gửi đến các thành viên.

    • CD Jenkins là gì?

      CD (Continuous Delivery) là quá trình chuyển giao liên tục. CD chính là tập hợp nhiều kỹ thuật triển khai tích hợp mã nguồn trong môi trường staging (môi trường này tương tự như một môi trường production).

      Thông qua cách này, bạn luôn đảm bảo mã nguồn được review, tiến trình kiểm thử diễn ra tỉ mỉ trước khi đưa lên môi trường production.

      Hướng dẫn cài đặt jenkins cho máy server

      Cách hoạt động của Jenkins

      Để có thể hoạt động, Jenkins cần được cung cấp những gói lưu trữ, cùng gói cài đặt của các hệ điều hành ở dạng Homebrew, và hình ảnh Docker, mã nguồn (chủ yếu là Java, bao gồm một số tệp Ruby, Croovy, Antlr).

      Khi đã có đầy đủ nguồn lực, bạn cho Jenkins War chạy độc lập, hoặc hoạt động dưới dạng servlet có trong máy chủ ứng dụng Java (ví dụ Tomcat). Dù chạy ở trường hợp nào thì Jenkins đều tạo ra giao diện web cho người dùng, đồng thời, nó chấp nhận những cuộc gọi cho API Rest.

      Trong lần chạy đầu tiên, Jenskin cũng sẽ tạo tài khoản quản trị và cung cấp cho người dùng một mật khẩu ngẫu nhiên. Tất nhiên, bạn được phép dán mật khẩu này vào trang web ban đầu để thực hiện mở khóa trình cài đặt.

      Để Jenskin được vận hành thì một số pipeline được thiết lập. Pipeline là một bước mà máy chủ Jenskins bắt buộc phải thực hiện cho các tác vụ CI/CD. Chúng sẽ được lưu sẵn tại tệp Jenkinsfile. Lúc đó, Jenkinsfile sử dụng cú pháp tương tự JSON (cú pháp ngoặc nhọn {}). Bước này sẽ khai báo pipeline ở dạng câu lệnh chứa tham số.

      Sau đó, máy chủ Jenskins sẽ tiến hành đọc tất cả các Jenkinsfile, rồi thực hiện các câu lệnh để đẩy mã từ source code xuống pipeline. Mỗi tệp Jenkinsfile đều được tạo thông qua một GUI, hoặc người dùng tự viết code.

      Plugin trong Jenkins

      Khi được cài đặt thành công, Jenkins cho phép bạn tùy ý lựa chọn các plugin mặc định hoặc chọn plugin riêng.

      Sau khi chọn được bộ plugin ban đầu, bạn nhấn nút cài đặt thì Jenkins sẽ tự động thêm vào chúng. Giao diện chính hiển thị build queue hiện tại của Jenkins sẽ có trạng thái executor chứa các liên kết cho phép người dùng tạo ra mục mới, quản lý các hoạt động, xem lịch sử cài đặt, chế độ xem tùy chỉnh, và quản lý thông tin đăng nhập.

      Hướng dẫn cài đặt jenkins cho máy server

      \>>Xem thêm: Load Balancing Là Gì? Hướng Dẫn Tối Ưu Năng Suất Hoạt Động Server

      Nhược điểm của Jenkins

      Quá trình cài đặt Jenkins đơn giản, dễ dàng nhưng production mang lại một vài khó khăn cho người dùng. Vì thế, người sử dụng phải dùng các ngôn ngữ khai báo riêng của chính pipeline để có thể triển khai nó thông qua Jenkinsfile.

      Bên cạnh đó, mã nguồn mở có thể giới hạn tài nguyên máy tính, container nên Jenkins sẽ không thể liên kết các máy chủ nếu nó làm ảnh hưởng đến hiệu năng.

      Điểm hạn chế cuối cùng là Jenkins hoạt động dựa vào công nghệ Java cũ.

      Hướng dẫn sử dụng Jenkins: Cài đặt trên Windows

      Để cài đặt Jenkins, bạn bắt buộc phải cài JDK8 do Jenkins chỉ hỗ trợ phiên bản này. Bạn tải về máy tính gói Jenkins mới nhất dành cho hệ điều hành Windows. Sau đó, bạn giải nén và nhấp chuột vào tệp exe để bắt đầu quá trình cài đặt.

      Hướng dẫn cài đặt jenkins cho máy server

      Một hộp thoại mới hiển thị, bạn nhấn nút “Next”.

      Hướng dẫn cài đặt jenkins cho máy server

      Trong cửa sổ hiển thị vị trí cài đặt Jenkins, bạn có thể nhấn vào nút “Change ...” nếu muốn cài Jenkins tại ổ đĩa khác. Theo mặc định thì hệ thống sẽ cài đặt Jenkins tại ổ C như hình minh họa bên dưới. Kế đến, bạn nhấn nút “Next”.

      Hướng dẫn cài đặt jenkins cho máy server

      Bạn nhấn vào nút “Install” trong cửa sổ mới xuất hiện để quá trình cài đặt được bắt đầu.

      Hướng dẫn cài đặt jenkins cho máy server

      Bạn chờ cho quá trình cài đặt được xử lý.

      Hướng dẫn cài đặt jenkins cho máy server

      Sau khi hệ thống hoàn tất cài đặt, bạn nhấn nút “Finish”.

      Hướng dẫn cài đặt jenkins cho máy server

      Lúc này, bạn được hệ thống chuyển hướng tự động đến trang cục bộ của Jenkins. Nếu hệ thống không chuyển, bạn dán đường dẫn http://localhost:8080 vào trình duyệt web.

      Hướng dẫn cài đặt jenkins cho máy server

      Jenkins xuất hiện màn hình yêu cầu mở khóa. Bạn sao chép mật khẩu mặc định được cung cấp trong tập tin tại ổ đĩa cài đặt C: \ Program Files (x86) \ Jenkins \ secret \ initialAdminPassword, rồi dán vào trường Mật khẩu. Tiếp theo, bạn nhấn nút “Continue”.

      Hướng dẫn cài đặt jenkins cho máy server

      Đến bước này, Jenkis sẽ yêu cầu bạn cài đặt plugin. Bạn tùy chọn cài đặt những plugin được hệ thống đề xuất hay plugin riêng của mình. Trong ví dụ minh họa này, chúng tôi thực hiện cài các plugin được đề xuất.

      Hướng dẫn cài đặt jenkins cho máy server

      Hệ thống tiến hành cài đặt các plugin.

      Hướng dẫn cài đặt jenkins cho máy server

      Kế đến, bạn tạo tài khoản quản trị cho Jenkins bằng cách nhập các thông tin như trong hộp thoại (xem hình minh họa bên dưới). Sau khi nhập xong, bạn nhấn nút “Save and Continue”.

      Hướng dẫn cài đặt jenkins cho máy server

      Một hộp thoại mới xuất hiện, bạn nhấn nút “Save and Finish” để hoàn tất quá trình cài đặt Jenkins.

      Hướng dẫn cài đặt jenkins cho máy server

      Để sử dụng Jenkins, bạn nhấn nút “Start using Jenkins”.

      Hướng dẫn cài đặt jenkins cho máy server

      Dưới đây là giao diện mặc định của trang Jenkins là gì.

      Hướng dẫn cài đặt jenkins cho máy server

      \>>Xem thêm: Docker Là Gì? Kiến Thức Cơ Bản Về Docker Không Thể Bỏ Lỡ

      Nhà cung cấp Tên Miền - Hostsing - VPS tốt nhất Việt Nam

      Là đơn vị thuộc top 3 lĩnh vực dịch vụ lưu trữ website tại Việt Nam, Hostsing Việt được đánh giá là nhà cung cấp tên miền giá rẻ và Hostsing giá rẻ cũng như luôn nhận được nhiều lời giới thiệu từ diễn đàn tin học về nơi mua Hosts ở đâu tốt . Chỉ từ 50.000đ/tháng, người dùng đã có ngay cho mình một Hosts để thỏa sức học tập, nghiên cứu hoặc chạy demo website… Bên cạnh đó, Hostsing Việt còn là đơn vị luôn tiên phong trong công nghệ điện toán đám mây (cloud Hostsing),gói thuê server với băng thông khủng không giới hạn. Hostsing Việt có đa dạng gói dịch vụ, bên cạnh những gói giá siêu rẻ 50.000đ/tháng, nhà cung cấp còn có những vps giá rẻ chất lượng dành cho nhiều nhóm doanh nghiệp khác nhau. Các gói này luôn đáp ứng đủ nhu cầu lưu trữ, truy cập hàng chục nghìn người mỗi ngày. Ngoài ra, với dịch vụ chăm sóc khách hàng chuyên nghiệp, đội ngũ kỹ thuật viên có chuyên môn cao sẽ nhanh chóng hỗ trợ, xử lý các vấn đề phát sinh. Từ đó, giúp người dùng có được sự trải nghiệp mượt mà, thú vị.