DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Tổng quan về cài đặt Jenkins là gì

Quân Nguyễn by Quân Nguyễn
25 Tháng 4, 2025
in DevOps & Cloud
0
Share on FacebookShare on Twitter

Tổng quan cài đặt Jenkins

Jenkins là gì là một opensource dùng để thực hiện chức năng tích hợp liên tục (gọi là CI – Continuous Integration) và xây dựng các tác vụ tự động hóa.

Ưu điểm lớn nhất của Jenkins là gì: có thể tích hợp với nhiều tool với các tính năng khác nhau, để hỗ trợ quy trình phát triển phần mềm và cho ra đời sản phẩm đảm bảo chất lượng. Bên cạnh đó, số lượng lớn các Plugins hiện có, với những cái tên không xa lạ như Slack, GitHub, Docker, Build Pipeline,… cũng tăng thêm tính linh hoạt của Jenkins là gì.

Giao diện đăng nhập

Sau khi cài đặt Jenkins, bạn đăng nhập vào bạn sẽ nhìn thấy giao diện mặc định cài đặt Jenkins

Tạo thư mục dự án

Sau khi đăng nhập, tại menu bên trái hãy tìm hiểu Jenkins là gì chọn New Item

Related Post

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

7 Tháng 6, 2025

Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022

26 Tháng 4, 2025

Đổi MTU cho Calico trong Kubernetes

30 Tháng 4, 2025

Sau đó đặt tên thư mục dự án, chọn Folder và nhấn OK

Nhấn Save

Tạo Job đầu tiên

Tại thư mục dự án, nhấn New Item

Điền tên Job, sau đó chọn Pipeline và nhấn OK

Hello world!!

Tạo một pipeline để Jenkins là gì với nội dung như sau:

pipeline {
    agent { label 'master' }
    stages {
        stage('build') {
            steps {
                echo "Hello World!"
            }
        }
    }
}

Sau đó chèn vào Job , nhấn Build Now

Nhấn vào Job để xem output

Kiến trúc Jenkins

Hình sau đây cho thấy kiến ​​trúc tổng thể của Jenkins.

Jenkins Master (Máy chủ)

Máy cài đặt Jenkins nắm giữ tất cả các cấu hình chính. Máy chủ tổng thể Jenkins giống như một máy chủ điều khiển sắp xếp tất cả quy trình làm việc được xác định trong các đường ống. Ví dụ, lên lịch công việc, theo dõi công việc, v.v.

Jenkins Plugins

Plugin là các mô-đun do cộng đồng phát triển mà bạn có thể cài đặt Jenkins của mình. Nó giúp bạn có nhiều chức năng hơn mà Jenkins không có sẵn.

Ví dụ: nếu bạn muốn tải tệp lên s3 bucket từ Jenkins, bạn có thể cài đặt plugin AWS Jenkins và sử dụng các chức năng của plugin để tải tệp lên thay vì viết logic của riêng bạn trong AWS CLI. Plugin xử lý lỗi và xử lý ngoại lệ.

withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'aws-key', usernameVariable: 'AWS_ACCESS_KEY_ID', passwordVariable: 'AWS_SECRET_ACCESS_KEY']]) {
        AWS("--region=eu-west-1 s3 ls")
    }

Là tập hợp các plugin được sử dụng để hỗ trợ phát triển và liên kết các công cụ phục vụ cho CICD pipeline

Một pipeline được tự động hoá thể hiện quy trình của bạn từ việc lấy mã nguồn (source code) từ hệ thống quản lý mã nguồn đến việc đưa ứng dụng đến tay khách hàng.

Jenkins Nodes / Clouds (agent)

Là một máy tính được kết nối với máy chủ cài đặt Jenkins. Jenkins node (agent) có nhiệm vụ thực thi các công việc được định nghĩa trong pipeline.

Một máy cài đặt Jenkins node (agent)  có thể chạy dưới hệ điều hành: Windows, Linux, MacOS, Unix.

Jenkins Global Security

Jenkins có các loại phương thức xác thực chính sau đây.

Cơ sở dữ liệu người dùng riêng của Jenkins: – Tập hợp người dùng được duy trì bởi cơ sở dữ liệu riêng của Jenkins. Khi chúng ta nói cơ sở dữ liệu, tất cả các tệp cấu hình phẳng (tệp XML) của nó.
Tích hợp LDAP : – Xác thực Jenkins bằng cách sử dụng cấu hình LDAP của công ty.
Đăng nhập một lần SAML (SSO) : Hỗ trợ một lần đăng nhập bằng cách sử dụng các nhà cung cấp như Okta, AzureAD, Auth0, v.v.
Với bảo mật dựa trên ma trận Jenkins, bạn có thể chỉ định thêm vai trò cho người dùng về quyền mà họ sẽ có đối với Jenkins.

Cài đặt Jenkins Credentials

Khi bạn thiết lập Jenkins, có những tình huống mà nó cần kết nối với tài khoản đám mây, máy chủ, cơ sở dữ liệu hoặc điểm cuối API bằng cách sử dụng bí mật.

Trong Jenkins, bạn có thể lưu các loại bí mật khác nhau dưới dạng thông tin xác thực:

  • Secret text
  • Username & password
  • SSH keys

Tất cả thông tin đăng nhập đều được mã hóa (AES) bởi Jenkins. Những bí mật được lưu trữ trong $JENKINS_HOME/secrets/ . Điều rất quan trọng là phải bảo mật thư mục này và loại trừ nó khỏi các bản sao lưu của Jenkins.

Jenkins Global Settings

Trong Jenkins Global Settings, bạn có tất cả các cấu hình của các plugin đã cài đặt và cấu hình toàn cầu Jenkins bản địa.

Ngoài ra, bạn có thể định cấu hình các biến môi trường  mức global  Ví dụ: bạn có thể lưu trữ URL của các công cụ (Nexus, Sonarqube, v.v.) dưới dạng các biến môi trường global và sử dụng chúng trong quy trình.

Jenkins Logs

Cung cấp thông tin ghi nhật ký về tất cả các hành động của máy chủ Jenkins bao gồm nhật ký công việc, nhật ký plugin, nhật ký webhook, v.v.

Jenkins Node (agent)

Các Jenkins node (agent) là các server vật lý, docker, pod K8s … thực hiện tất cả các bước được đề cập trong Công việc. Khi bạn tạo một công việc Jenkins, bạn phải chỉ định một người đại diện cho nó(server vật lý, docker, pod K8s …). Mỗi đại lý đều có một lable.

Khi bạn kích hoạt một công việc, quá trình thực thi thực sự xảy ra trên Jenkins node (agent) được cấu hình trong công việc.

Lưu ý: Bạn có thể chạy các công việc trong máy chủ Jenkins mà không cần đến Jenkins node (agent). Trong trường hợp này, Jenkins master đóng vai trò Jenkins node (agent). Tuy nhiên, cách tiếp cận được khuyến nghị là thiết lập Jenkins node (agent) cho các yêu cầu công việc khác nhau để bạn không làm hỏng máy chủ Jenkins đối với bất kỳ thay đổi cấu hình toàn hệ thống nào cần thiết cho công việc.

Bạn có thể có bất kỳ số lượng Jenkins node (agent) nào được gắn vào một Jenkins master với sự kết hợp của các máy chủ Windows, Linux và thậm chí cả vùng chứa làm Jenkins node (agent).

Ngoài ra, bạn có thể hạn chế các công việc chạy trên các Jenkins node (agent) cụ thể, tùy thuộc vào trường hợp sử dụng. Ví dụ: nếu bạn có một Jenkins node (agent) có cấu hình java 8, bạn có thể chỉ định Jenkins node (agent) này cho các công việc yêu cầu môi trường Java 8.

Không có tiêu chuẩn duy nhất cho việc sử dụng các Jenkins node (agent) . Bạn có thể thiết lập quy trình làm việc và chiến lược dựa trên nhu cầu dự án của mình.

Jenkins Master-agent Connectivity

Bạn có thể kết nối chủ Jenkins và đại lý theo hai cách

Sử dụng phương thức SSH: Sử dụng giao thức ssh để kết nối với Jenkins node (agent). Kết nối được bắt đầu từ Jenkins master. Họ phải là kết nối qua cổng 22 giữa  master và Jenkins node (agent).
Sử dụng phương thức JNLP: Sử dụng giao thức java JNLP ( Java Network Launch Protoco l). Trong phương pháp này, một Jenkins node (agent) java được khởi tạo từ Jenkins node (agent) với các chi tiết chính của Jenkins. Đối với điều này, tường lửa Jenkins master phải cho phép kết nối trên cổng JNLP được chỉ định. Thông thường, cổng được gán sẽ là 50000. Giá trị này có thể định cấu hình.

Có hai loại Jenkins node (agent)

Các Jenkins node (agent) vật lý: Đây là các máy chủ (Windows / Linux) sẽ được định cấu hình làm tác nhân tĩnh . Các Jenkins node (agent) này sẽ luôn hoạt động và luôn kết nối với máy chủ Jenkins. Các tổ chức sử dụng các tập lệnh tùy chỉnh để tắt và khởi động lại các Jenkins node (agent) khi không được sử dụng. Thông thường vào các đêm và cuối tuần.

Jenkins node (agent) cloud: Jenkins node (agent) cloud là một khái niệm có các Jenkins node (agent) động . Có nghĩa là, bất cứ khi nào bạn kích hoạt một công việc, một Jenkins node (agent) sẽ được triển khai dưới dạng một máy ảo / vùng chứa theo yêu cầu và bị xóa sau khi công việc hoàn thành. Phương pháp này tiết kiệm tiền về chi phí cơ sở hạ tầng khi bạn có một hệ sinh thái Jenkins khổng lồ và các bản xây dựng liên tục.

Jenkins data

Tất cả dữ liệu Jenkins được lưu trữ ở vị trí thư mục sau.

/var/lib/jenkins/

Dữ liệu bao gồm tất cả các tệp cấu hình công việc, cấu hình plugin, secret, thông tin Jenkins Node (agent), v.v. Nó làm cho việc di chuyển Jenkins rất dễ dàng so với các công cụ khác.

Nếu bạn  truy cập vào /var/ lib/jenkins, bạn sẽ tìm thấy hầu hết các cấu hình ở định dạng xml.

Việc sao lưu thư mục dữ liệu Jenkins mỗi ngày là điều cần thiết . Vì lý do nào đó, nếu dữ liệu máy chủ Jenkins của bạn bị hỏng, bạn có thể khôi phục toàn bộ Jenkins bằng bản sao lưu dữ liệu.

Lý tưởng nhất là khi triển khai Jenkins trong sản xuất, một extra volume is attached chuyên dụng được đính kèm vào các máy chủ Jenkins chứa tất cả dữ liệu Jenkins.

Tags: agentbảo mậtcài đặt jenkinscông cụđịnh nghĩahoạt độngjavakhái niệmpipelinesshtool
Quân Nguyễn

Quân Nguyễn

Related Posts

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất
DevOps & Cloud

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

by devopsify
11 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên
Bảo mật

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

by devopsify
7 Tháng 6, 2025
Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022
DevOps & Cloud

Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022

by devopsify
26 Tháng 4, 2025
Next Post

Đọc/ghi file trong Jenkins Pipeline

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

13 Tháng 6, 2025
Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify