@thungrac43 Detail permission mình đã in ra bạn có thể xem chi tiết ở job của CICD.
Về vấn đề này mình ko thấy có lí do gì mà "buộc" phải dùng đường dẫn tương đối hay tuyệt đối ở môi trường ngoài như bạn đề cập. Và như bạn cũng thấy demo của mình chạy CICD ngon với đường dẫn tương đối.
Đoạn mình thắc mình thấy chỉ là "ko hiểu" tại sao Gitlab runner lại tự biết mà đổi quyền về luôn cho mình thôi, bình thường nó sẽ báo lỗi (đây ko báo lỗi thì hay quá luôn)
Mình cũng đã thử chạy lại với việc uncomment dòng set perrmission
Nếu bạn làm thế và bị lỗi Attempted to create a lock file on a read-only directory: /data/db thì chứng tỏ là folder .docker/data/db ở môi trường ngoài vẫn có quyền khác với user trong container MongoDB trước lúc bạn chạy docker-compose up. Lỗi này mình đã thử đã thử "cố tình" setup theo kịch bản đó thì cho ra kết quả y hệt nên mình có thể khẳng định như vậy.
Bạn có thể clone y nguyên project của mình về và đưa vào Gitlab Runner của riêng bạn, trong project của mình đã có tất cả mọi thứ để bạn xem, đã chạy thành công, log job đầy đủ, bạn cứ việc tham chiếu sang, nếu có lỗi thì khả năng là Gitlab Runner của bạn ko giống Runner của Gitlab.com. Mình cũng ko có thời gian cài hẳn Gitlab Runner vào máy nên ko test trực tiếp đc, nhưng đấy, lý thuyết và thực tế mình đã làm mình đã giải thích ở comment này và các comment trước đó.
2 năm rồi. giờ em đang là PHP devloper. Freelancer về wordpress, nodejs và angular. Vô tình đọc bài viết về nodejs của anh. rồi xem profile. và thấy bài viết này? ủa sao mình comment gì vậy ta. hihii.
@maitrungduc1410 đoạn permission mà bạn thắc mắc chính là vấn đề mình muốn nói đến đó.
Mình chạy lại project mới của bạn vừa tạo và vẫn lỗi:
db_1 | {"t":{"$date":"2020-10-09T10:26:48.728+00:00"},"s":"E", "c":"STORAGE", "id":20557, "ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"IllegalOperation: Attempted to create a lock file on a read-only directory: /data/db"}}
=> Attempted to create a lock file on a read-only directory: /data/db
Trên máy chạy gitlab-runner (runner của chính bạn cài, không phải shared runner của gitlab ) mà bạn vừa demo bạn gõ cho mình command này:
THẢO LUẬN
Đây là bài tập lớn mình làm cùng các bạn ở trường Đại học bạn nhé.
@thungrac43 Detail permission mình đã in ra bạn có thể xem chi tiết ở job của CICD.
Về vấn đề này mình ko thấy có lí do gì mà "buộc" phải dùng đường dẫn tương đối hay tuyệt đối ở môi trường ngoài như bạn đề cập. Và như bạn cũng thấy demo của mình chạy CICD ngon với đường dẫn tương đối.
Nếu bạn làm thế và bị lỗi
Attempted to create a lock file on a read-only directory: /data/dbthì chứng tỏ là folder.docker/data/dbở môi trường ngoài vẫn có quyền khác với user trong container MongoDB trước lúc bạn chạydocker-compose up. Lỗi này mình đã thử đã thử "cố tình" setup theo kịch bản đó thì cho ra kết quả y hệt nên mình có thể khẳng định như vậy.Bạn có thể clone y nguyên project của mình về và đưa vào Gitlab Runner của riêng bạn, trong project của mình đã có tất cả mọi thứ để bạn xem, đã chạy thành công, log job đầy đủ, bạn cứ việc tham chiếu sang, nếu có lỗi thì khả năng là Gitlab Runner của bạn ko giống Runner của Gitlab.com
. Mình cũng ko có thời gian cài hẳn Gitlab Runner vào máy nên ko test trực tiếp đc, nhưng đấy, lý thuyết và thực tế mình đã làm mình đã giải thích ở comment này và các comment trước đó.
hay và dễ hiểu giờ đã hiểu tại sao NodeJS là single-thread mà lại xử lý được concurency
Khi nào có bài 8 vậy sư phụ
tks a, bài viết còn nhiều sót thiếu mong được chỉ giáo (bantim)
Bài viết rất to và đẹp
Mình cũng đã thử chạy lại với việc uncomment dòng set perrmission
thì vẫn lỗi
Hay nè!
@tranhuuhien1990 thank bạn mình đã update lại nha
2 năm rồi. giờ em đang là PHP devloper. Freelancer về wordpress, nodejs và angular. Vô tình đọc bài viết về nodejs của anh. rồi xem profile. và thấy bài viết này? ủa sao mình comment gì vậy ta. hihii.
Hay!
Đỉnh đỉnh
Bài viết rất hay. Cảm ơn anh!
thanks Mạnh nhé, ngày mới vui vẻ :v
anh Hưng hay quá chời
@maitrungduc1410 đoạn permission mà bạn thắc mắc chính là vấn đề mình muốn nói đến đó.
Mình chạy lại project mới của bạn vừa tạo và vẫn lỗi:
=> Attempted to create a lock file on a read-only directory: /data/db
Trên máy chạy gitlab-runner (runner của chính bạn cài, không phải shared runner của gitlab ) mà bạn vừa demo bạn gõ cho mình command này:
Và xem gitlab-runner chạy với command nào, ví dụ:
Quan tâm tham số --user
Khi runner chạy lại .gitlab-ci.yml bạn vào stage test xem cho mình đoạn này giá trị in ra là gì
Bạn xem cho mình permission của folder /builds/thungrac43/cicd-relative-path-non-root/ trên runner là gì.
Hello my friend
Cay thế nhỉ vẫn được trending
thanks em :v
e chân le ve thôi anh =))