Hành động Mongodb GitHub

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

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 filemongoexport đượ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

Tác vụ GitHub có tốt không?

So với các công cụ tự động hóa hoặc CI/CD khác, GitHub Actions cung cấp các khả năng gốc ngay trong quy trình GitHub của bạn . Nó cũng giúp bạn dễ dàng tận dụng bất kỳ hành động nào trong số hơn 10.000 hoạt động tự động hóa và CI/CD được viết sẵn và thử nghiệm trong GitHub Marketplace cũng như khả năng tự viết của riêng bạn bằng các tệp YAML dễ sử dụng.

GitHub có hỗ trợ MongoDB không?

Hành động GitHub này khởi động máy chủ MongoDB hoặc bộ bản sao MongoDB . Theo mặc định, máy chủ MongoDB có sẵn trên cổng mặc định 27017. Bạn có thể định cấu hình cổng tùy chỉnh bằng cách sử dụng đầu vào mongodb-port. Các ví dụ cho thấy cách sử dụng cổng tùy chỉnh.

Bạn có thể triển khai với GitHub Actions không?

GitHub Actions cung cấp các tính năng cho phép bạn kiểm soát việc triển khai . Bạn có thể. Kích hoạt quy trình làm việc với nhiều sự kiện khác nhau. Định cấu hình môi trường để đặt quy tắc trước khi công việc có thể tiến hành và để hạn chế quyền truy cập vào các bí mật.

Hành động GitHub có phải là YAML không?

Tác vụ GitHub sử dụng cú pháp YAML để xác định quy trình làm việc . Mỗi quy trình làm việc được lưu trữ dưới dạng một tệp YAML riêng trong kho lưu trữ mã của bạn, trong một thư mục có tên. github/quy trình công việc. Bạn có thể tạo một quy trình công việc mẫu trong kho lưu trữ của mình để tự động kích hoạt một loạt lệnh bất cứ khi nào mã được đẩy.