Kiểm soát nguồn thông tin với các tệp giải pháp

Công cụ Solution Packager có thể được sử dụng với bất kỳ hệ thống kiểm soát nguồn nào. Sau khi giải nén tệp .zip vào một thư mục, hãy thêm và gửi tệp đó đến hệ thống kiểm soát nguồn của bạn. Các tệp này sau đó có thể được đồng bộ hóa trên một máy tính khác, nơi chúng có thể được đóng gói thành một tệp .zip giải pháp giống hệt mới.

Một khía cạnh quan trọng khi sử dụng các tệp thành phần được trích xuất trong kiểm soát nguồn là việc thêm tất cả các tệp vào kiểm soát nguồn có thể gây ra sự trùng lặp không cần thiết. Đi tới Tham chiếu tệp thành phần giải pháp để khám phá tệp nào được tạo cho từng loại thành phần và tệp nào được khuyến nghị sử dụng trong kiểm soát nguồn.

Khi cần tùy chỉnh và thay đổi thêm cho giải pháp, nhà phát triển nên chỉnh sửa hoặc tùy chỉnh các thành phần thông qua các phương tiện hiện có, xuất lại để tạo tệp .zip và trích xuất tệp giải pháp nén vào cùng một thư mục.

Quan trọng

Ngoại trừ các phần được mô tả trong Thời điểm chỉnh sửa tệp tùy chỉnh, việc chỉnh sửa thủ công các tệp thành phần đã giải nén và tệp .zip không được hỗ trợ.

Khi công cụ Solution Packager trích xuất các tệp thành phần, nó sẽ không ghi đè lên các tệp thành phần hiện có cùng tên nếu nội dung tệp giống hệt nhau. Ngoài ra, công cụ này còn tôn trọng thuộc tính chỉ đọc trên các tệp thành phần, đưa ra cảnh báo trong cửa sổ bảng điều khiển rằng các tệp cụ thể không được ghi. Sự bảo vệ này cho phép người dùng kiểm tra từ kiểm soát nguồn tập hợp tối thiểu các tệp đang thay đổi. Tham số /clobber có thể được sử dụng để ghi đè và khiến các tệp chỉ đọc được ghi hoặc xóa. Tham số /allowWrite có thể được sử dụng để đánh giá tác động của hoạt động giải nén mà không thực sự khiến bất kỳ tệp nào bị ghi hoặc xóa. Sử dụng tham số /allowWrite với đăng nhập diễn giải là hiệu quả.

Sau khi thao tác trích xuất hoàn tất với tập hợp tối thiểu các tệp được kiểm tra từ kiểm soát nguồn, nhà phát triển có thể gửi lại các tệp đã thay đổi vào kiểm soát nguồn, giống như cách thực hiện với bất kỳ loại tệp nguồn nào khác.

Định dạng tệp kiểm soát nguồn

Công cụ Solution Packager hỗ trợ hai định dạng tệp cho các tệp thành phần được giải nén. Chọn định dạng phù hợp trước sẽ tránh phải di chuyển cấu trúc kho lưu trữ của bạn sau này.

Định dạng XML (kế thừa) Định dạng kiểm soát nguồn YAML
Bản kê khai giải pháp Other\Solution.xml + Other\Customizations.xml solutions/<name>/solution.yml và hỗ trợ các tệp YAML
Khả năng đọc XML chi tiết YAML nhỏ gọn — dễ đọc và đánh giá hơn
Chất lượng khác biệt trong Git XML khác biệt lớn Sự khác biệt tối thiểu, tập trung
Kho lưu trữ đa giải pháp Không hỗ trợ Được hỗ trợ — nhiều giải pháp chia sẻ một thư mục
Ứng dụng canvas (.msapp) Không hỗ trợ Hỗ trợ
Quy trình hiện đại Không hỗ trợ Hỗ trợ
Tích hợp Git gốc Không được dùng Luôn được sử dụng — Tích hợp Git luôn viết YAML

Khi nào sử dụng định dạng YAML: Đối với tất cả các dự án mới và bất cứ khi nào bạn sử dụng tích hợp Dataverse Git gốc. Định dạng YAML tương thích chuyển tiếp và tạo ra lịch sử thay đổi rõ ràng hơn.

Khi nào nên sử dụng định dạng XML: Chỉ khi làm việc với các kho lưu trữ hiện có đã sử dụng định dạng XML hoặc khi sử dụng công cụ cũ không hỗ trợ YAML.

Lưu ý

Khi bạn cam kết các giải pháp bằng cách sử dụng tích hợp Git gốc trong Power Apps, chúng luôn được lưu trữ ở định dạng kiểm soát nguồn YAML. Để đóng gói hoặc giải nén nguồn đó theo cách thủ công bằng cách sử dụng SolutionPackager hoặc pac solution pack, thư mục phải tuân theo cấu trúc thư mục YAML. Thông tin thêm: Công cụ SolutionPackager — Định dạng tệp kiểm soát nguồn

Phát triển đội ngũ

Khi có nhiều nhà phát triển cùng làm việc trên một thành phần giải pháp, xung đột có thể phát sinh khi những thay đổi từ hai nhà phát triển dẫn đến những thay đổi trong một tệp duy nhất. Sự xuất hiện này được giảm thiểu bằng cách phân tách từng thành phần hoặc thành phần phụ có thể chỉnh sửa riêng lẻ thành một tệp riêng biệt. Xem xét ví dụ sau đây.

  1. Nhà phát triển A và B đều làm việc trên cùng một giải pháp.

  2. Trên các máy tính độc lập, cả hai đều nhận được các nguồn giải pháp mới nhất từ kiểm soát nguồn, đóng gói và nhập tệp .zip giải pháp không được quản lý vào các tổ chức Microsoft Dataverse độc lập.

  3. Nhà phát triển A tùy chỉnh dạng xem hệ thống "Người liên hệ hiện hoạt" và biểu mẫu chính cho thực thể Người liên hệ.

  4. Nhà phát triển B tùy chỉnh biểu mẫu chính cho thực thể Tài khoản và thay đổi "Chế độ xem tra cứu liên hệ".

  5. Cả hai nhà phát triển xuất một tệp .zip giải pháp không được quản lý và giải nén.

    1. Nhà phát triển A sẽ cần kiểm tra một tệp cho biểu mẫu chính Liên hệ và một tệp cho chế độ xem "Danh bạ đang hoạt động".

    2. Nhà phát triển B sẽ cần kiểm tra một tệp cho biểu mẫu chính của Tài khoản và một tệp cho "Lượt xem tra cứu liên hệ".

  6. Cả hai nhà phát triển đều có thể gửi theo bất kỳ thứ tự nào khi những thay đổi của họ được thực hiện trên các tệp riêng biệt.

  7. Sau khi gửi xong, họ có thể lặp lại bước #2 rồi tiếp tục thực hiện các thay đổi tiếp theo trong các tổ chức độc lập của mình. Họ từng có cả hai bộ thay đổi, không có ghi đè lên công việc riêng của họ.

Ví dụ trước chỉ hoạt động khi có thay đổi đối với các tệp riêng biệt. Việc tùy chỉnh độc lập không thể tránh khỏi việc yêu cầu thay đổi trong cùng một tệp. Dựa trên ví dụ được hiển thị trước đó, hãy xem xét rằng nhà phát triển B đã tùy chỉnh chế độ xem "Người liên hệ đang hoạt động" trong khi nhà phát triển A cũng đang tùy chỉnh nó. Trong ví dụ mới này, thứ tự của các sự kiện trở nên quan trọng. Quy trình chính xác để giải quyết tình trạng khó khăn này, được mô tả đầy đủ tại đây.

  1. Nhà phát triển A và B đều làm việc trên cùng một giải pháp.

  2. Trên các máy tính độc lập, cả hai đều nhận được các nguồn mới nhất của giải pháp từ kiểm soát nguồn, đóng gói và nhập một tệp .zip giải pháp không được quản lý vào tổ chức độc lập.

  3. Nhà phát triển A tùy chỉnh chế độ xem hệ thống "Người liên hệ đang hoạt động" và biểu mẫu chính cho bảng Người liên hệ.

  4. Nhà phát triển B tùy chỉnh biểu mẫu chính cho bảng Tài khoản và thay đổi "Danh bạ đang hoạt động".

  5. Cả hai nhà phát triển xuất một tệp .zip giải pháp không được quản lý và giải nén.

    1. Nhà phát triển A sẽ cần kiểm tra một tệp cho biểu mẫu chính Liên hệ và một tệp cho chế độ xem "Danh bạ đang hoạt động".

    2. Nhà phát triển B sẽ cần kiểm tra một tệp cho biểu mẫu chính Tài khoản và một tệp cho chế độ xem "Danh bạ đang hoạt động".

  6. Nhà phát triển A đã sẵn sàng trước.

    1. Trước khi nhà phát triển A gửi bản kiểm soát nguồn, họ phải lấy các nguồn mới nhất để đảm bảo không có lần kiểm tra trước nào xung đột với những thay đổi của họ.

    2. Không có xung đột nào nên nhà phát triển A có thể gửi.

  7. Nhà phát triển B đã sẵn sàng tiếp theo nhà phát triển A.

    1. Trước khi nhà phát triển B gửi, họ phải lấy các nguồn mới nhất để đảm bảo không có lần kiểm tra trước nào xung đột với những thay đổi của họ.

    2. Có xung đột vì tệp cho "Danh bạ đang hoạt động" đã được sửa đổi kể từ lần cuối cùng nhà phát triển B truy xuất các nguồn mới nhất.

    3. Nhà phát triển B phải hòa giải xung đột. Có thể khả năng của hệ thống kiểm soát nguồn đang sử dụng có thể hỗ trợ quá trình này; nếu không thì các lựa chọn sau đây đều khả thi.

      1. Nhà phát triển B, thông qua lịch sử kiểm soát nguồn, nếu có, có thể quan sát thấy nhà phát triển A đã thực hiện thay đổi trước đó. Thông qua giao tiếp trực tiếp, họ có thể thảo luận về từng thay đổi. Sau đó, nhà phát triển B chỉ phải cập nhật cho tổ chức bằng giải pháp đã thỏa thuận. Sau đó, nhà phát triển B xuất, trích xuất và ghi đè lên tệp xung đột rồi gửi.

      2. Cho phép kiểm soát nguồn ghi đè lên tệp cục bộ. Nhà phát triển B đóng gói giải pháp và nhập vào tổ chức của họ, sau đó đánh giá trạng thái của chế độ xem và tùy chỉnh lại nếu cần. Tiếp theo, nhà phát triển B có thể xuất, trích xuất và ghi đè lên tệp xung đột.

      3. Nếu thay đổi trước đó được coi là không cần thiết, nhà phát triển B cho phép bản sao tệp của họ ghi đè lên phiên bản trong kiểm soát nguồn và gửi.

Cho dù làm việc trong môi trường chung hay môi trường độc lập, việc phát triển giải pháp theo nhóm đòi hỏi những người tích cực làm việc trên giải pháp chung phải biết về công việc của những người khác. Dataverse Công cụ Solution Packager không loại bỏ hoàn toàn nhu cầu này, nhưng nó cho phép dễ dàng hợp nhất các thay đổi không xung đột ở cấp độ kiểm soát nguồn và chủ động làm nổi bật các thành phần ngắn gọn nơi phát sinh xung đột.

Các phần tiếp theo là các quy trình chung để sử dụng hiệu quả công cụ Solution Packager trong kiểm soát nguồn khi phát triển cùng các nhóm. Những điều này hoạt động như nhau với các môi trường độc lập hoặc môi trường phát triển dùng chung, mặc dù với các môi trường dùng chung, việc xuất và trích xuất sẽ bao gồm tất cả các thay đổi có trong giải pháp, không chỉ những thay đổi do nhà phát triển thực hiện việc xuất. Tương tự như vậy, khi nhập tệp .zip giải pháp, hành vi tự nhiên là ghi đè lên tất cả các thành phần sẽ xảy ra.

Tạo một giải pháp

Quy trình này xác định các bước thông thường được sử dụng khi bạn lần đầu tiên tạo ra một giải pháp.

  1. Trong môi trường sạch với Dataverse, hãy tạo một giải pháp, sau đó thêm hoặc tạo các thành phần nếu cần.

  2. Khi bạn đã sẵn sàng để đăng ký, hãy làm theo các bước sau.

    1. Xuất giải pháp không được quản lý.

    2. Sử dụng công cụ Solution Packager để trích xuất giải pháp thành các tệp thành phần.

    3. Từ các tệp thành phần được trích xuất, thêm các tệp cần thiết vào kiểm soát nguồn.

    4. Gửi những thay đổi này để kiểm soát nguồn.

Sửa đổi một giải pháp

Quy trình sau đây xác định các bước điển hình được sử dụng khi sửa đổi một giải pháp có sẵn.

  1. Đồng bộ hóa hoặc nhận các nguồn tệp thành phần giải pháp mới nhất.

  2. Sử dụng công cụ Solution Packager để đóng gói các tệp thành phần vào tệp giải pháp .zip không được quản lý.

  3. Nhập tệp giải pháp không được quản lý vào môi trường.

  4. Tùy chỉnh và chỉnh sửa các giải pháp khi cần thiết.

  5. Khi bạn đã sẵn sàng kiểm tra những thay đổi trong kiểm soát nguồn, hãy làm theo các bước sau.

    1. Xuất giải pháp không được quản lý.

    2. Sử dụng công cụ Solution Packager để trích xuất giải pháp đã xuất thành các tệp thành phần.

    3. Đồng bộ hóa hoặc nhận các nguồn mới nhất từ kiểm soát nguồn.

    4. Hòa giải nếu có bất kỳ xung đột tồn tại.

    5. Gửi những thay đổi này để kiểm soát nguồn.

    Bước 2 và 3 phải được thực hiện trước khi các tùy chỉnh tiếp theo xảy ra trong tổ chức phát triển. Trong bước 5, bước b phải được hoàn thành trước bước c.

Xem thêm

Tham chiếu tệp thành phần giải pháp (SolutionPackager)
Công cụ SolutionPackager
Định dạng tệp kiểm soát nguồn