Các bước tạo cơ sở dữ liệu mongodb với dữ liệu thử nghiệm
Các bước chúng tôi sẽ thực hiện để thiết lập cơ sở dữ liệu của chúng tôi được đề cập bên dưới.
1. Trước tiên, chúng tôi sẽ xuất dữ liệu cần thiết để chạy các trường hợp thử nghiệm của mình thành một tệp từ bộ sưu tập cơ sở dữ liệu mongodb.
2. Tiếp theo, từ trong tệp quy trình hành động github của chúng tôi, chúng tôi sẽ
a. Thiết lập cơ sở dữ liệu mongodb bằng hình ảnh mới nhất từ docker hub
b. Nhập dữ liệu từ tệp trong cơ sở dữ liệu mongodb của chúng tôi trên môi trường mới bằng các hành động github
Chúng tôi sẽ sử dụng một lệnh docker đơn giản để thiết lập mongodb trong môi trường hành động github của chúng tôi, chúng tôi sẽ thảo luận chi tiết khi chúng tôi tiếp tục. Bạn không cần phải là một chuyên gia về docker để có thể sử dụng lệnh này. Mặc dù sẽ rất hữu ích nếu hiểu các thùng chứa như một khái niệm để bạn có thể theo dõi những gì chúng tôi đang làm ở đây
Chúng tôi sẽ không cần bất kỳ tài nguyên máy chủ bổ sung nào cho quy trình làm việc của mình vì chính Github sẽ cung cấp các tài nguyên cần thiết
Hướng dẫn kịch bản ví dụ
Chúng ta hãy xem xét ví dụ sau. Chúng tôi có một cơ sở dữ liệu có tên appDB, vì mục đích đơn giản chỉ chứa 2 bộ sưu tập. Đầu tiên là userColl chứa dữ liệu người dùng và bộ sưu tập thứ hai là appData chứa dữ liệu giao dịch cho ứng dụng. Ở đây, chúng tôi không cần tất cả dữ liệu có trong bộ sưu tập của mình mà chỉ cần dữ liệu thử nghiệm mà chúng tôi có thể sử dụng để chạy đường dẫn CI của mình.
Chúng tôi sẽ làm theo các bước sau
1. Xuất dữ liệu thử nghiệm
Trước tiên, chúng tôi sẽ cần các tệp chứa dữ liệu mà chúng tôi muốn nhập vào cơ sở dữ liệu của mình. Đối với điều này, chúng tôi sẽ sử dụng tiện ích dòng lệnh mongodb có tên là mongoexport. Công cụ mongoexport là một phần của gói Công cụ cơ sở dữ liệu MongoDB. Làm theo Hướng dẫn cài đặt công cụ cơ sở dữ liệu để cài đặt mongoexport nếu chưa cài đặt. Lệnh mongoexport có dạng như sau
mongoexport –collection=
Chạy mongoexport
từ dòng lệnh hệ thống, không phải shell mongo
Bạn cần chỉ định bộ sưu tập mà bạn cần xuất. Nếu bạn không chỉ định output file
, mongoexport
được ghi vào đầu ra tiêu chuẩn [e. g. thiết bị xuất chuẩn].
Vì mục đích của chúng tôi, chúng tôi sẽ chọn tệp đầu ra là. tập tin json. Để kết nối với phiên bản MongoDB cục bộ chạy trên cổng 27017, bạn không cần phải chỉ định máy chủ hoặc cổng. Nếu cơ sở dữ liệu của bạn nằm trên một máy chủ từ xa, bạn cần chỉ định uri/host. Bạn có thể kiểm tra cú pháp từ tài liệu mongodb cho mongoexport. https. // tài liệu. mongodb. com/database-tools/mongoexport/
Chúng tôi sẽ chạy các lệnh sau để xuất dữ liệu từ 2 bộ sưu tập của chúng tôi từ cơ sở dữ liệu mongodb được cài đặt cục bộ. Xem thư mục bin của bản cài đặt mongodb của bạn và chạy các lệnh sau
mongoexport –collection=userColl –db=appDB –out=userColl. json
mongoexport –collection=appData –db=appDB –out=appData. json
Chúng tôi sẽ nhận được 2. json làm đầu ra – appData. json và userColl. json
2. Chỉnh sửa dữ liệu thử nghiệm
Sau này, chúng ta có thể chỉnh sửa tệp json để đảm bảo rằng nó chỉ chứa dữ liệu cần thiết và thêm/xóa dữ liệu theo yêu cầu.
3. Tải lên dữ liệu thử nghiệm trong repo
Khi chúng tôi có dữ liệu cần thiết trong. json, chúng tôi sẽ tải các tệp này lên kho lưu trữ github có chứa mã của chúng tôi.
4. Tạo thùng chứa mongodb
Bước tiếp theo là tạo cơ sở dữ liệu mongodb từ tệp quy trình làm việc của chúng tôi [. tệp yaml]
Nếu bạn muốn tìm hiểu kiến thức cơ bản về cách thiết lập quy trình xây dựng và thử nghiệm cho ứng dụng web java với maven, bạn có thể tham khảo quy trình làm việc của GitHub Actions để kích hoạt quy trình CI đơn giản cho ứng dụng web java với maven và junit
Sau khi bạn đã quen thuộc với các nguyên tắc cơ bản của việc tạo quy trình làm việc, bạn có thể tiếp tục từ đây.
Mã sau sẽ cần được đưa vào quy trình công việc hoặc. tập tin yml.
- Tên. Tạo bộ chứa Docker mongoDB chạy. Sudo docker chạy -d -p 27017. 27017 mongo. muộn nhất
Với lệnh trên, chúng tôi sẽ cài đặt một bộ chứa docker với phiên bản mongodb mới nhất có sẵn trên docker hub mà ứng dụng web của chúng tôi có thể truy cập được. Lệnh này sẽ chạy trong shell mặc định của hệ điều hành trong môi trường thử nghiệm của chúng tôi. Chúng tôi đang sử dụng cờ – d để chạy vùng chứa này ở chế độ tách rời, do đó vùng chứa sẽ chạy ở chế độ nền. Chúng tôi sử dụng cờ – p hoặc – – xuất bản để tạo quy tắc tường lửa ánh xạ cổng bộ chứa docker trên đó mongodb được cài đặt với một cổng trên máy chủ docker mà thế giới bên ngoài có thể truy cập từ đó.
5. Nhập dữ liệu
Khi chúng tôi có cơ sở dữ liệu mongodb, tất cả những gì chúng tôi phải làm là nhập dữ liệu thử nghiệm vào cơ sở dữ liệu của chúng tôi. Dưới đây là mã mẫu về cách đạt được nó.
- Tên. Thêm dữ liệu vào bộ sưu tập userColl
chạy. mongoimport –collection=userColl –db=appDB –file=userColl. json
- Tên. Thêm dữ liệu vào appData Collection
chạy. mongoimport –collection=appData –db=appDB –file=appData. json
Phần kết luận
Để tổng hợp tất cả, chúng ta hãy đặt tất cả các mã lại với nhau trong một tệp quy trình làm việc. Đối với điều này, chúng ta hãy tìm nạp tệp quy trình công việc từ quy trình công việc GitHub Actions mẫu của chúng tôi để kích hoạt một đường dẫn CI đơn giản cho một ứng dụng web java với maven và junit và chèn mã ở trên vào tệp đó. Chúng tôi sẽ có quy trình làm việc cập nhật sau. Mã cụ thể của cơ sở dữ liệu Mongodb đã được tô sáng bằng màu văn bản màu xanh lam