Khi làm việc với jenkins, đặt biệt là đối với agent windows, có bao giờ bạn gặp phải rắc rối là chạy command ở command prompt thì được mà chạy cũng là lệnh đó nhưng trên jenkins thì bị lỗi * denied.
Đó là do lúc bạn chạy lệnh ở command prompt, bạn chạy lệnh với user có quyền cao, còn ở jenkins, jenkins chạy lệnh đó với user hệ thống, thường là nt authoritysystem, đây là user ẩn mặc định của hệ thống.
Cách khắc phục
Để khắc phục vấn đề trên mình cần tạo một user khác, cáp quyền admin cho user đó, gán nó vào jenkins slave service. Nhưng trước hết bạn cần chạy jenkins slave dưới dạng là một service của windows, nếu bạn chưa rõ có thể xem lại bài viết ở đây.
Tạo user mới
Trong windows, để tạo user mới bạn cần truy cập vào start menu, sau đó vào phần cài đặt và chọn Accounts.
Tiếp theo chọn Other users ở menu bên trái. Kéo xuống và chọn Add someone else to this PC
Sau đó bạn đặt tên user và pass cho user đó.
Gán user mới cho jenkins slave service
Bạn truy cập vào start menu, tìm kiếm service
sau đó tìm đến Jenkins agent và nhấn đúp chuột.
Ở tab Log on chọn vào phần This account
ở bước tạo user mình đã tạo một user mới tên là jenkins và đã cấp quyền admin. Mình gõ jenkins vào hộp thoại, nhấn check names
Nhấn OK, sau đó điền password của user
Sau đó khởi động lại service bằng cách chuột phải vào Jenkins agent và chọn restart.
Bây giờ Jenkins slave đã chạy với quyền admin. chúc bạn thành công.
Bài viết liên quan
edit post

DevOps
Connection string
edit post

DevOps
Cách khắc phục lỗi * deniend khi dùng Jenkins agent windows
edit post

Lỗi bảo mật