Cài đặt Jenkins Agent trên Windows 10

Step 1: Cài đặt phần mềm cần thiết

JDK: JDK là cần thiết để chạy tiến trình của Jenkins Agent. Tại đây mình sử dụng JDK 21.

Git: Git để cập nhật code tử các repo

VSCode: Code editor để sửa code nếu cần thiết.

Unity: UnityHub, Unity Editor, và các module cần thiết

Và cuối cùng là tạo thư mục làm việc riêng cho JenkinsAgent (ở đây là C:\JenkinsAgent)

Step 2: Tạo Node Agent trong Jenkins Controller

Truy cập Manage Jenkins -> Nodes và tạo một Node mới.

Lưu ý:
– Permanent Agent phù hợp với case hiện có. Tức là một agent luôn sẵn sàng. Để phân biệt với Dynamic Agents.
– Number of executors: số lượng build đồng thời có thể chạy trên agent.
– Remote root directory: đường dẫn đến thư mục làm việc đã tạo ở bước trên C:\JenkinsAgent.
– Labels: Nhãn phân loại các agent. Sau này trong Jenkins file sẽ dùng label để chị định job chạy trên agent nào (agent { label 'windows && unity' })
– Usage là cách Jenkins lên lịch sử dụng agent này.
– Launch method: phương thức kết nối.
– Availability: Kiểm soát khi nào Jenkins bắt đầu, kết thúc agent này.

Step 3: Kết nối Agent

Truy cập vào node vừa tạo thông qua Manage Jenkins -> Nodes ta sẽ thấy hướng dẫn kết nối bằng command line.

Chọn command line phù hợp rồi chạy trên máy Agent qua cmd.

Khi chạy lệnh “curl.exe -sO https://jenkins.thanhdv.com/jnlpJars/agent.jar & java -jar agent.jar -url https://jenkins.thanhdv.com/ -secret 73a6b19....e63df7 -name "Unity-WindowsAgent" -webSocket -workDir "C:\JenkinsAgent"” gặp lỗi không thể kết nối do truy cập thông qua reverse proxy. Để khắc phục thì không truy cập thông qua reverse proxy nữa mà truy cập qua port như thông thường. Thay https://jenkins.thanhdv.com bằng http://thanhdv.com:8080

Lệnh chính xác cần chạy là
curl.exe -sO http://thanhdv.com:8080/jnlpJars/agent.jar & java -jar agent.jar -url http://thanhdv.com:8080/ -secret 73a6b193f2a487ccf1ccf5b494691be0319371e44ed67c4bab29835363e63df7 -name "Unity-WindowsAgent" -webSocket -workDir "C:\JenkinsAgent"

Step 4: Chạy JenkinsAgent như một service của Windows (tuỳ chọn)

Lệnh trên chỉ chạy khi cửa sổ cmd đang bật gây bất tiện. Thế nên để sử dụng một cách thuận thiện hơn mình sẽ cài đặt nó như một service sử dụng WinSW

Tải WinSW trên Github và lưu vào folder của Jenkins Agent (C:\JenkinsAgent)
Đổi tên file sao cho có ý nghĩa, ví dụ như jenkins-agent.exe

Tải file agent.jar qua đường dẫn trên http://thanhdv.com:8080/jnlpJars/agent.jar có thể thấy ở command line. Lưu vào cùng thư mục làm việc với WinSW

Tạo file xml với nội dung như sau:
<service>
  <id>JenkinsAgentUnityWin</id> <name>Jenkins Agent (Unity Windows)</name> <description>Chạy Jenkins agent để build Unity trên máy Windows này, kết nối tới Jenkins Controller.</description>
  <executable>%JAVA_HOME%\bin\java.exe</executable>
  <arguments>-Xmx512m -jar agent.jar -url http://thanhdv.com:8080/ -secret 73a6b193f2a487ccf1ccf5b494691be0319371e44ed67c4bab29835363e63df7 -name "Unity-WindowsAgent" -webSocket -workDir "C:\JenkinsAgent"</arguments>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold> <keepFiles>5</keepFiles> </log>
  <workingdirectory>C:\JenkinsAgent</workingdirectory>
</service>

Lưu ý:
File xml cần đặt tên giống với file exe phía trên (chỉ khác phần mở rộng xml và exe).
<executable> là đường dẫn đến java.exe. Nếu chưa có biến môi trường JAVA_HOME thì cần thêm vào trong Windows.
<arguments> chứa đầy đủ các tham số trên command line. Phần từ phía sau ký tự &
<workingdirectory> là đường dẫn đến thư mục làm việc của Jenkins Agent.

Cài đặt service
– Mở cmd trong cửa sổ thư mục của JenkinsAgent hoặc dùng lệnh cd để chuyển đến thư mục làm việc của JenkinsAgent
– Chạy lệnh .\jenkins-agent.exe install để cài đặt.
– Chạy tiếp lệnh .\jenkins-agent.exe start để chạy service (Hoặc chạy trong của sổ services.msc tìm tới tên service Jenkins Agent (Unity Windows) setup trong file xml)
– Kiểm tra trên Jenkins (Manage Jenkins -> Nodes) nếu thấy nodes online tức là đã thành công.
– Setup service auto restart. Trong cửa sổ services.msc -> Recovery. Chuyển tất cả các trường “First failure“, “Second failure“, “Subsequent failures” thành “Restart the Service

Lưu ý:
– Gỡ cài đặt service bằng lệnh .\jenkins-agent.exe uninstall
– Nếu chạy service gặp lỗi có thể kiểm tra các file log trong thư mục cài đặt của service (trong trường hợp này là C:\JenkinsAgent)


Revision #1
Created 2025-08-18 03:24:10 UTC by ThanhDV
Updated 2025-08-18 03:26:09 UTC by ThanhDV