Jenkins là một cái tool rất quen mặt với dân DevOps, viết bằng Java. Nói cho dễ hiểu thì nó giống như thằng bạn “chăm làm không than thở” trong team dev – chuyên lo mấy việc lặp đi lặp lại như build code, test, deploy… mà chẳng ai muốn làm tay.
Bình thường, khi dev viết xong tính năng mới, thường sẽ test sơ sơ rồi quăng qua QA kiểm tra tiếp. Mà nếu gửi nguyên đống một lần, dính lỗi là cả đám phải cày lại từ đầu, chả ai vui cả. Nhiều khi QA cũng “ngồi chơi xơi nước” vì chưa có gì để test, rồi đến lúc có thì lại bị ngập trong bug. Rối tung.
Jenkins ra đời để giải quyết mấy vụ đó. Dev chỉ cần đẩy code lên, Jenkins tự động chạy test, kiểm tra lỗi, rồi triển khai nếu ổn. Tất cả diễn ra suôn sẻ mà không cần ngồi canh. Cứ như có một robot làm phụ vậy đó.
Các Câu Hỏi Phỏng Vấn Jenkins Phổ Biến Nhất

Chỉ cần đổi cái repo mã nguồn thôi là Jenkins nó tự động quẩy hết – từ build, test tới deploy – nhờ mấy cái plugin cài sẵn. Không cần động tay động chân gì nhiều. Đó cũng là lý do mà Jenkins được dân DevOps xem như “bảo bối ruột” – thiếu nó là thấy thiếu thiếu á.
Vậy nên, nếu bạn sắp đi phỏng vấn DevOps, thì xác định luôn là thế nào cũng bị phỏng vấn Jenkins. Không hỏi sâu thì cũng hỏi kiểu “bạn dùng Jenkins chưa?”, “biết setup pipeline không?”, kiểu vậy đó. Bây giờ cùng nghía qua mấy câu dễ dính nhất khi phỏng vấn về Jenkins.
Bạn hãy làm các câu hỏi trắc nhiệm phỏng vấn jenkins trước và cuối bài viết sẽ có phần đáp án giải thích chi tiết
Các câu hỏi sẽ từ dễ đến nâng cao để cho cả những bạn mới cũng có thể nghiên cứu, mọi người thử làm nha.
1. Bạn hiểu Jenkins là gì?
2. Lợi ích chính của công cụ Jenkins là gì?
3. Các tính năng quan trọng của công cụ Jenkins là gì?
4. Làm thế nào để cấu hình một công việc trong Jenkins?
5. Bạn hiểu Tích hợp Liên tục (CI) là gì?
6. Bạn có thể kể tên một số công cụ CI được sử dụng trong Jenkins không?
7. Bạn hiểu DevOps là gì và nó liên quan đến Jenkins như thế nào?
8. Bạn hiểu Pipeline trong Jenkins là gì và các bước bao gồm trong đó?
9. Chỉ thị agent trong nền tảng Jenkins là gì?
10. CI CD Pipeline là gì?
11. Scripted pipelines tuân theo cú pháp groovy nào?
12. Bạn hiểu Declarative Pipelines trong công cụ Jenkins là gì?
13. Giải thích agent trong công cụ Jenkins là gì?
14. Các tham số trong Jenkins là gì?
15. Bạn hiểu post là gì?
16. Các giai đoạn là gì?
17. Chỉ thị môi trường là gì?
18. Bạn hiểu Triggers là gì?
19. Bạn có thể giải thích về các chỉ thị đầu vào không?
20. Bạn hiểu thuật ngữ Parallel trong nền tảng Jenkins là gì?
21. Làm thế nào bạn có thể đảm bảo rằng bản dựng dự án sẽ không bị hỏng trong Jenkins?
22. Các bước để tạo bản sao và sao lưu tệp thông qua công cụ Jenkins là gì?
23. Bạn có thể giải thích quy trình bảo mật Jenkins không?
24. Bạn sẽ làm gì nếu bạn tìm thấy một bản dựng bị hỏng trong dự án Jenkins?
25. Quy trình sao chép hoặc di chuyển các công việc từ một máy chủ sang máy chủ khác là gì?
26. Quy trình lập lịch các bản dựng trong nền tảng Jenkins là gì?
27. Các lệnh mà người ta có thể sử dụng để bắt đầu Jenkins thủ công là gì?
28. Làm thế nào bạn có thể tích hợp Jenkins vào môi trường điện toán đám mây?
29. Bạn hiểu Flow Control là gì?
30. Hai thành phần chính mà Jenkins tích hợp với là gì?
Đáp án và giải thích cho các câu hỏi phỏng vấn Jenkins
1. Bạn hiểu Jenkins là gì?
Trả lời: Nếu bạn đang tìm kiếm các câu hỏi phỏng vấn Jenkins cho kỹ sư DevOps, thì đây là một câu hỏi chính. Nếu đây là câu hỏi, hãy bắt đầu với định nghĩa về Jenkins. Nó là một công cụ tự động hóa được viết bằng Java. Jenkins đơn giản hóa chu kỳ phát triển với tính năng tích hợp liên tục của nó. Các nhà phát triển sử dụng công cụ này để tạo và kiểm tra các dự án và tích hợp các thay đổi cần thiết một cách nhanh chóng. Bạn có thể thực hiện kiểm tra và triển khai công nghệ không giới hạn với Jenkins. Đây là một câu hỏi phỏng vấn Jenkins cơ bản mà bạn có thể gặp trong cuộc phỏng vấn DevOps của mình.
2. Lợi ích chính của công cụ Jenkins là gì?
Trả lời: Đây là một trong những câu hỏi phỏng vấn Jenkins thường được hỏi nhất. Tuy nhiên, các lợi ích đáng kể của công cụ tích hợp mã nguồn mở Jenkins là:
- Các lỗi được lưu trữ trong giai đoạn tích hợp thay đổi.
- Khi bạn thực hiện bất kỳ thay đổi nào, nó tạo ra thông báo báo cáo xây dựng.
- Nó có các máy chủ thư LDAP và cho các nhà phát triển biết về báo cáo thành công hoặc thất bại.
- Với một số bước đơn giản, bạn có thể tự động hóa dự án.
- Nó theo dõi các lỗi từ giai đoạn đầu của dự án.
3. Các tính năng quan trọng của công cụ Jenkins là gì?
Trả lời: Đây là một trong những câu hỏi phỏng vấn Jenkins chính mà mọi nhà tuyển dụng đều hỏi. Tuy nhiên, ở đây bạn có thể nói như sau, công cụ tuyệt vời này đi kèm với nhiều tính năng tuyệt vời. Bao gồm:
- Triển khai và tích hợp liên tục
Nó là một máy chủ tự động hóa; Jenkins được sử dụng như một máy chủ CI. Bên cạnh đó, bạn có thể biến Jenkins thành một nền tảng triển khai cho các dự án khác nhau. Nó đơn giản hóa đáng kể quy trình dự án.
- Cài đặt dễ dàng
Nó là một chương trình dựa trên Java và rất dễ sử dụng. Công cụ sẵn sàng chạy mà không cần bất kỳ quy trình cấu hình nào. Bên cạnh đó, điều tốt nhất về Jenkins là nó tương thích cao với các hệ điều hành Mac OS, Windows và Linux.
- Dễ cấu hình
Bạn có thể dễ dàng thiết lập chương trình thông qua giao diện web dễ sử dụng. Bên cạnh đó, bạn có thể sử dụng các tính năng kiểm tra lỗi và trợ giúp tích hợp sẵn trong chương trình.
- Các plugin hữu ích
Bạn sẽ tìm thấy hàng trăm plugin hữu ích trong Trung tâm Cập nhật của nó. Hơn nữa, nó dễ dàng tích hợp với hầu hết các công cụ trong chuỗi công cụ triển khai liên tục.
- Có thể mở rộng cao
Bạn có thể dễ dàng mở rộng Jenkins thông qua kiến trúc plugin độc đáo của nó. Với tính năng như vậy, bạn có thể làm rất nhiều thứ bằng cách sử dụng Jenkins.
- Phân tán
Nó phân phối công việc trên các máy khác nhau, đơn giản hóa quy trình xây dựng, kiểm tra và triển khai trên các nền tảng khác nhau.
4. Làm thế nào để cấu hình một công việc trong Jenkins?
Trả lời: Khi nói đến các câu hỏi phỏng vấn Jenkins mới nhất, bạn không thể bỏ qua câu hỏi này. Để thiết lập một công việc, trước tiên bạn cần tạo một công việc. Để làm điều này, hãy đi đến phần công việc mới, nằm ở trang đầu và phát triển một dự án freestyle. Nói về một số yếu tố chính của các dự án là:
- Bạn sẽ cần một Subversion để lưu trữ mã nguồn.
- Trong khi thực hiện các bản dựng, bạn sẽ cần các trình kích hoạt.
- Bạn sẽ phải phát triển một số tập lệnh như Ant hoặc Maven.
Tuy nhiên, nếu bạn có bất kỳ nghi ngờ nào, các câu hỏi phỏng vấn DevOps và Jenkins, bạn có thể nhờ sự trợ giúp từ các cộng đồng DevOps trực tuyến khác nhau.
5. Bạn hiểu Tích hợp Liên tục (CI) là gì?
Trả lời: Thông thường, đây là một thực hành kỹ thuật phần mềm trong đó các thay đổi khác nhau được kiểm tra ngay lập tức. Bên cạnh đó, nó báo cáo về việc thêm các bản sửa đổi vào một cơ sở mã lớn hơn. Chi tiết, dưới đây, một nhà phát triển tích hợp mã thường xuyên vào kho lưu trữ được chia sẻ. Sau đó, các tích hợp được xác minh thông qua một bài kiểm tra tự động. Nếu bạn đang tìm kiếm các câu hỏi phỏng vấn Jenkins phổ biến nhất như vậy, hãy tìm kiếm trên internet.
6. Bạn có thể kể tên một số công cụ CI được sử dụng trong Jenkins không?
Trả lời: Nói về các công cụ Tích hợp Liên tục được hỗ trợ bởi Jenkins là:
- GitLab CI
- Travis CI
- Jenkins
- Team City
- Bamboo
- Circle CI
- Go CI
- Codeship
7. Bạn hiểu DevOps là gì và nó liên quan đến Jenkins như thế nào?
Trả lời: Đây là một trong những câu hỏi phỏng vấn Jenkins mới nhất. Tuy nhiên, chuyển sang câu trả lời là thực hành phát triển phần mềm. Chi tiết, DevOps kết hợp phát triển phần mềm và hoạt động CNTT. Với điều này, nó làm cho toàn bộ quy trình phát triển trở nên dễ dàng và nhanh chóng hơn. Hơn nữa, nó cung cấp cho nhà phát triển các bản sửa lỗi, tính năng và cập nhật quan trọng. Jenkins, trong thực hành này, giúp bằng cách tự động hóa quy trình phát triển, kiểm tra và triển khai.
8. Bạn hiểu Pipeline trong Jenkins là gì và các bước bao gồm trong đó?
Trả lời: Các câu hỏi về Jenkins pipeline khá phổ biến và xuất hiện trong bộ câu hỏi phỏng vấn Jenkins. Tuy nhiên, Pipeline là một plugin giúp tích hợp và triển khai các Pipeline triển khai. Thông thường, một Pipeline có thể bao gồm phát triển dự án, tích hợp, kiểm tra và triển khai dự án. Vì vậy, nói về các bước trong Jenkins Pipeline, đó là xây dựng, kiểm tra và triển khai.
9. Chỉ thị agent trong nền tảng Jenkins là gì?
Trả lời: Đây là một trong những câu hỏi phỏng vấn Jenkins phổ biến nhất. Chi tiết, nó cho Jenkins biết cách và nơi thực hiện Pipeline. Chỉ thị agent là bắt buộc trong tất cả các Pipeline. Tuy nhiên, có một số điều mà agent gây ra:
- Tất cả các quy trình được bao gồm trong khối được sắp xếp để thực thi. Các hoạt động bắt đầu khi một executor có sẵn.
- Một nơi làm việc được chỉ định, có thể lưu trữ tất cả các tệp được chuyển từ kiểm soát nguồn và các tệp làm việc.
- Khi bạn gặp bất kỳ vấn đề nào trong việc tìm kiếm câu trả lời phù hợp cho các câu hỏi phỏng vấn Jenkins, bạn có thể nhờ sự trợ giúp từ các chuyên gia.
10. CI CD Pipeline là gì?
Trả lời: Đây là một trong những câu hỏi phỏng vấn Jenkins phổ biến nhất và có thể được trả lời như sau. CI hoặc CD (Triển khai Liên tục) Pipeline bao gồm các Pipeline xây dựng, kiểm tra và triển khai. Thông thường, nó tiết kiệm rất nhiều thời gian và ngăn chặn lỗi trong việc bảo trì các bản dự án. CD Pipeline là một nhóm các công việc được phát triển, tích hợp và liên kết theo một trình tự phù hợp. 11. Bạn có thể nói về Scripted Pipelines với cú pháp không?
11. Scripted pipelines tuân theo cú pháp groovy nào?
Trả lời: Các scripted pipelines tuân theo cú pháp groovy được đề cập dưới đây:
Node {
}
Chi tiết, Node là một phần quan trọng của kiến trúc Jenkins. Có hai loại Node khác nhau xử lý các nhiệm vụ khác nhau. Bên cạnh đó, các agent xử lý các nhiệm vụ riêng lẻ. Hầu hết các nhà tuyển dụng sẽ hỏi bạn các câu hỏi về Jenkins pipeline như vậy.
12. Bạn hiểu Declarative Pipelines trong công cụ Jenkins là gì?
Trả lời: Declarative Pipelines được thêm gần đây trong công cụ Jenkins. Nó đơn giản hóa đáng kể cú pháp groovy của Jenkins Pipeline. Tuy nhiên, có một số ngoại lệ. Ví dụ,
- Bạn không thể sử dụng dấu chấm phẩy để phân tách một câu lệnh.
- Các pipeline cấp cao hơn phải được bao quanh trong các khối.
13. Giải thích agent trong công cụ Jenkins là gì.
Trả lời: Bạn đang tìm kiếm các câu hỏi phỏng vấn Jenkins hàng đầu? Vâng, đây là một câu hỏi. Chi tiết, phần này cho biết nơi toàn bộ Pipeline sẽ được thực hiện trong Jenkins. Hơn nữa, phần được định nghĩa ở cấp cao hơn trong khối, nhưng nó là tùy chọn.
14. Các tham số trong Jenkins là gì?
Trả lời: Để cung cấp các trường hợp sử dụng khác nhau cho Pipeline, agent hỗ trợ một số tham số. Chi tiết, các tham số được áp dụng ở cấp cao hơn của khối.
15. Bạn hiểu post là gì?
Trả lời: Nó định nghĩa một số bước bổ sung chạy sau khi hoàn thành Pipeline. Tuy nhiên, nó phụ thuộc vào vị trí của phần post. Nó hỗ trợ các khối điều kiện post khác nhau, ví dụ, failure, always, success, failure, aborted và unstable.
16. Các giai đoạn là gì?
Trả lời: Trong phần này, bạn có thể tìm thấy công việc được mô tả bởi các Pipeline. Chi tiết, nó chứa một hoặc nhiều chỉ thị. Mỗi giai đoạn phải chứa một chỉ thị giai đoạn cho mỗi phần riêng biệt của quy trình triển khai. Ví dụ, phát triển, kiểm tra và triển khai.
17. Chỉ thị môi trường là gì?
Trả lời: Nó hiển thị một chuỗi cụ thể các cặp biến môi trường cho các bước hoặc giai đoạn khác nhau. Tuy nhiên, nó phụ thuộc vào vị trí của chỉ thị môi trường trong các Pipeline.
18. Bạn hiểu Triggers là gì?
Trả lời: Các chỉ thị này cho biết cách các Pipeline được kích hoạt lại trong một quy trình. Tuy nhiên, các Pipeline tích hợp với các nguồn, ví dụ, GitHub, không cần các triggers. Lý do là sự hiện diện của tích hợp dựa trên webhooks. Vì vậy, các triggers có sẵn là Upstream, PollSCM và Cron.
19. Bạn có thể giải thích về các chỉ thị đầu vào không?
Trả lời: Khi nói đến một số câu hỏi phỏng vấn Jenkins chính, đừng quên biết về các chỉ thị đầu vào. Hầu hết các nhà tuyển dụng đều hỏi câu hỏi này. Tuy nhiên, câu trả lời là nó cho phép các nhà phát triển khuyến khích đầu vào, thông qua các bước đầu vào. Thông thường, giai đoạn sẽ dừng lại khi bạn áp dụng bất kỳ tùy chọn nào. Sau đó, khi bạn nhập một cái gì đó và nó được chấp thuận, giai đoạn sẽ tiếp tục. Tham số đầu vào dễ dàng phát hiện trong môi trường này trong suốt quy trình.
20. Bạn hiểu thuật ngữ Parallel trong nền tảng Jenkins là gì?
Trả lời: Các giai đoạn hiện có trong các pipeline khai báo đôi khi hiển thị một số giai đoạn lồng nhau. Các giai đoạn này có thể thực thi song song. Tuy nhiên, hãy nhớ rằng mỗi giai đoạn chỉ có thể có một parallel. Theo quy tắc, giai đoạn lồng nhau không thể thực hiện thêm các giai đoạn song song nhưng có thể hoạt động như bất kỳ giai đoạn nào khác. Hơn nữa, một giai đoạn bao gồm Parallel không thể chứa các công cụ hoặc một agent vì chúng không liên quan.
21. Làm thế nào bạn có thể đảm bảo rằng bản dựng dự án sẽ không bị hỏng trong Jenkins?
Trả lời: Để đảm bảo điều này, người ta có thể xem xét các bước sau:
- Dành thời gian và thực hiện cài đặt sạch Jenkins với tất cả các bài kiểm tra đơn vị trên máy của bạn.
- Bây giờ đảm bảo rằng tất cả các thay đổi mã phản ánh thành công.
- Bên cạnh đó, đừng quên kiểm tra đồng bộ hóa kho lưu trữ.
Bằng cách này, bạn có thể đảm bảo rằng tất cả các thay đổi và cài đặt được lưu trữ trong đồng bộ hóa kho lưu trữ.
22. Các bước để tạo bản sao và sao lưu tệp thông qua công cụ Jenkins là gì?
Trả lời: Để tạo bản sao lưu của tệp, bạn nên sao lưu thư mục Jenkins_Home hàng ngày. Lý do là Thư mục Home chứa tất cả các cấu hình công việc và lịch sử xây dựng. Để sao lưu Jenkins, chỉ cần sao chép thư mục công việc vào một bản sao. Bên cạnh đó, bạn thậm chí có thể đổi tên thư mục.
23. Bạn có thể giải thích quy trình bảo mật Jenkins không?
Trả lời: Vâng, đây là một trong những câu hỏi phỏng vấn Jenkins quan trọng nhất. Tuy nhiên, bạn có thể giải thích quy trình theo cách sau. Trước hết, đảm bảo bảo mật toàn cầu. Sau đó, đảm bảo rằng Jenkins được tích hợp đúng cách với thư mục bằng các loại plugin phù hợp. Thông thường, ma trận dự án được kích hoạt để đơn giản hóa quyền truy cập. Bên cạnh đó, bạn có thể tự động hóa hoặc đặc quyền bằng một tập lệnh kiểm soát tùy chỉnh. Có quyền truy cập hạn chế vào dữ liệu. Để kiểm tra mức độ bảo mật của nó, bạn có thể chạy kiểm toán bảo mật.
24. Bạn sẽ làm gì nếu bạn tìm thấy một bản dựng bị hỏng trong dự án Jenkins?
Trả lời: Trước hết, bạn cần truy cập bảng điều khiển đầu ra. Ở đó bạn có thể tìm thấy bản dựng bị hỏng. Sau đó, trong đầu ra bảng điều khiển, tìm kiếm bất kỳ thay đổi tệp nào không có. Nếu bạn không tìm thấy bất kỳ vấn đề nào với quy trình này, hãy thử cập nhật không gian làm việc của bạn. Sau đó, bạn có thể sao chép các vấn đề và giải quyết nó.
25. Quy trình sao chép hoặc di chuyển các công việc từ một máy chủ sang máy chủ khác là gì?
Trả lời: Đối với điều này, sao chép thư mục dự án Jenkins cũ của bạn sang một máy chủ mới. Bạn có thể làm điều này bằng nhiều cách khác nhau. Ví dụ, bạn có thể di chuyển dự án từ cài đặt sang thư mục dự án tương ứng. Bên cạnh đó, bạn cũng có thể tạo một bản sao của thư mục bằng cách tạo một bản sao của dự án hiện có.
Nếu bạn vẫn còn một số nghi ngờ và đang tìm kiếm các câu hỏi phỏng vấn Jenkins cơ bản nhưng quan trọng như vậy, bạn có thể tìm kiếm trực tuyến.
26. Quy trình lập lịch các bản dựng trong nền tảng Jenkins là gì?
Trả lời: Để lập lịch các bản dựng trong Jenkins, hãy làm theo các bước sau:
- Đầu tiên, đảm bảo bạn có một commit quản lý mã nguồn.
- Sau đó, bạn cần hoàn thành tất cả các bản dựng còn lại.
- Bạn cần lập lịch để bắt đầu vào một thời gian cụ thể.
- Sau đó yêu cầu một bản dựng thủ công.
27. Các lệnh mà người ta có thể sử dụng để bắt đầu Jenkins thủ công là gì?
Trả lời: Đối với điều này, bạn có thể làm theo quy trình sau:
Nếu bạn muốn bắt đầu Jenkins thủ công bằng dòng lệnh, thì bạn cần mở thư mục cài đặt của Jenkins. Sau đó, sử dụng các lệnh sau:
- Để bắt đầu: sử dụng Jenkins.exe Start.
- Để dừng nó: sử dụng Jenkins.exe Stop.
- Để khởi động lại: sử dụng Jenkins.exe Restart.
28. Làm thế nào bạn có thể tích hợp Jenkins vào môi trường điện toán đám mây?
Trả lời: Đây là một trong những câu hỏi phỏng vấn Jenkins quan trọng. Vì vậy, để giải thích điều này, bạn có thể sử dụng ví dụ sau. Đối với điều này, bạn có thể xem xét dịch vụ đám mây AWS. Thông thường, tất cả các dịch vụ điện toán đám mây sử dụng các mô hình CD hoặc CI. Bởi vì chúng đẩy công việc đến khách hàng và nhận phản hồi thường xuyên. Jenkins được sử dụng rộng rãi để làm cho CD hoặc CI Pipeline tự động. Có rất nhiều plugin Jenkins để làm việc với các dịch vụ AWS, ví dụ, ECS và Amazon EC2.
29. Bạn hiểu Flow Control là gì?
Trả lời: Đây là một câu hỏi phỏng vấn Jenkins đơn giản và bạn có thể trả lời nó một cách đơn giản. Dưới đây, tất cả các pipeline scripted được thực thi theo thứ tự từ trên xuống dưới trong Jenkins. Nó khá giống với các tập lệnh truyền thống được sử dụng trong Groovy và các ngôn ngữ khác nhau.
30. Hai thành phần chính mà Jenkins tích hợp với là gì?
Trả lời: Bạn có thể gặp nhiều câu hỏi phỏng vấn Jenkins như vậy trong cuộc phỏng vấn DevOps. Tuy nhiên, đối với câu hỏi cụ thể này, bạn có thể sử dụng thông tin sau. Jenkins tích hợp với các công cụ xây dựng khác nhau, ví dụ, Apache Maven. Bên cạnh đó, bạn có thể tích hợp các hệ thống kiểm soát phiên bản khác nhau, chẳng hạn như SVN và GIT.
Bên cạnh đó, bạn có thể thêm một số thứ khác nếu bạn biết về nó. Nếu bạn thực hiện một số nghiên cứu, bạn có thể tìm thêm ví dụ cho các câu hỏi phỏng vấn Jenkins như vậy.
Kết Luận
Đây là một số câu hỏi phỏng vấn Jenkins phổ biến mà kỹ sư DevOps có thể gặp trong quá trình phỏng vấn. Hãy tham khảo những câu hỏi này, bạn sẽ tự tin hơn khi đối diện với những câu hỏi về Jenkins trong buổi phỏng vấn. Kiến thức vững vàng về Jenkins sẽ giúp bạn gây ấn tượng mạnh với nhà tuyển dụng và có cơ hội giành lấy công việc mơ ước.
Nếu bạn thấy các câu hỏi phỏng vấn Jenkins này hữu ích, chắc chắn bạn sẽ có thể vượt qua cuộc phỏng vấn và tiến gần hơn đến công việc mà mình mong muốn.