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:
@thungrac43 vì mình cũng khá tò mò vấn đề này muốn xem thử có đúng trên Gitlab CI chạy cũng giống mình thường như mình nghĩ, nên mình đã demo luôn cho bạn.
Ở link trên mình dùng luôn project trong bài này, mount volume bằng đường dẫn tương đối. Và MongoDB vẫn chạy ngon với non-root user mà không phải sửa gì, mình có test gọi API ở trong pipeline để chắc chắn MongoDB đã chạy ngon, ko khác gì bình thường.
Có 1 sự bất ngờ nhẹ: ko hiểu sao mặc dù folder mount volume ở môi trường ngoài .docker/data/db ban đầu là của root sẵn, nhưng khi chạy lên thì MongoDB vẫn có thể ghi vào đó được với quyền của user 1000:1000. Bình thường đáng ra là phải báo lỗi permission (vì mongo chạy với non-root user).Mình chưa hiểu sao Gitlab Runner lại "thông minh" vậy . Nhưng dù sao nếu báo lỗi thì mình cũng đã có 1 dòng comment chown sẵn cho bạn, nếu có báo lỗi bạn bỏ comment dòng đó là được
Message Format và Monitor Queue có thể xếp vào mục cần lưu ý khi sử dụng. Tuy nhiên, việc xây dựng hệ thống Message Format hay Monitor Queue có thể gây ra những khó khăn nhất định, đặc biệt là monitor. "Khi xây dựng hệ thống xử lý bất đồng bộ dựa trên message thì việc monitor có tính chất cốt tử", ngoài monitor queue thì còn phải kết hợp với monitor quá trình xử lý một message, không có một hệ thống monitor tốt thì không thể chạy trên môi trường production.
THẢO LUẬN
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 =))
Bài viết tuyệt với quá
Ngưỡng mộ quá
lan man khó hiểu
hay quá (+1), những bài viết sau sẽ rất đáng để mong đợi
@Thenb thế đíu nào thằng Hiếu lại đoạt giải nhỉ? anh nghi nó chạy tool lắm =.="
@thungrac43 vì mình cũng khá tò mò vấn đề này muốn xem thử có đúng trên Gitlab CI chạy cũng giống mình thường như mình nghĩ, nên mình đã demo luôn cho bạn.
Link repo demo ở đây
Ở link trên mình dùng luôn project trong bài này, mount volume bằng đường dẫn tương đối. Và MongoDB vẫn chạy ngon với non-root user mà không phải sửa gì, mình có test gọi API ở trong pipeline để chắc chắn MongoDB đã chạy ngon, ko khác gì bình thường.
Bài viết rất hay. Đã follow. Mong chờ bài tiếp. Tks
Message Format và Monitor Queue có thể xếp vào mục cần lưu ý khi sử dụng. Tuy nhiên, việc xây dựng hệ thống Message Format hay Monitor Queue có thể gây ra những khó khăn nhất định, đặc biệt là monitor. "Khi xây dựng hệ thống xử lý bất đồng bộ dựa trên message thì việc monitor có tính chất cốt tử", ngoài monitor queue thì còn phải kết hợp với monitor quá trình xử lý một message, không có một hệ thống monitor tốt thì không thể chạy trên môi trường production.
Bạn copy tài liệu này ở đâu? Đã xin ý kiến author chưa?