Source Code Management
Nền tảng Cloud ZCP sử dụng Gitea, một giải pháp Git tại chỗ, như công cụ tích hợp cho quản lý mã nguồn (SCM). Việc sử dụng một giải pháp tại chỗ như Gitea có thể giúp giảm thiểu các mối lo ngại về bảo mật liên quan đến việc sử dụng các giải pháp SCM công cộng. Gitea cung cấp các chức năng Git tiêu chuẩn cho kiểm soát phiên bản, hợp tác và tích hợp với các tính năng CI/CD của nền tảng.
Khi đăng ký một ứng dụng trong bảng điều khiển ZCP, bạn liên kết nó với kho mã nguồn của nó trong Gitea (hoặc một máy chủ Git tiêu chuẩn khác). Nền tảng quản lý an toàn các thông tin xác thực (Secrets) cần thiết để truy cập kho nguồn cho các quy trình xây dựng. Các pipeline xây dựng trong nền tảng được cấu hình để kéo mã từ các nhánh cụ thể trong kho Git đã liên kết.
Truy cập Gitea
Bạn có thể truy cập phiên bản Gitea tích hợp thông qua menu cho người dùng Dự án trong bảng điều khiển ZCP: Dev Tools > Source:
Tài khoản của bạn trong Gitea được liên kết tự động với tài khoản Cloud ZCP mà bạn đang đăng nhập. Khi bạn kết nối lần đầu, bạn có thể cần đặt một mật khẩu đặc biệt cho các thao tác dòng lệnh Git (như git pull
và git push
).
Quyền và Vai trò Người dùng
Quyền sử dụng Gitea trong bối cảnh dự án được quản lý bởi những người dùng có vai trò quản trị viên trong bảng điều khiển ZCP.
Quyền truy cập và quyền cho các thành viên dự án được cấp bằng cách gán các vai trò phù hợp trực tiếp cho người dùng hoặc bằng cách thêm người dùng vào một nhóm nắm giữ các vai trò cần thiết. Những quyền này được liên kết với các vai trò được xác định trong Nền tảng Hiện đại hóa.
Nếu một người dùng được cấp nhiều vai trò với các mức quyền khác nhau cùng một lúc, mức quyền cao nhất sẽ được áp dụng.
Các vai trò cụ thể như git-administrator
hoặc git-writer
là cần thiết để tạo các kho lưu trữ mới dưới tổ chức của dự án trong Gitea.
Tổ Chức và Kho Lưu Trữ
- Organizations: Các Tổ Chức Gitea được tạo và quản lý tự động với một ánh xạ một-một tới các Dự Án trong bảng điều khiển ZCP. Tên tổ chức tuân theo quy ước:
REALM-PROJECT
. - Repositories: Một kho lưu trữ Git lưu trữ và quản lý các tệp và thư mục cho mã nguồn ứng dụng của bạn. Bạn thường tạo một kho lưu trữ cho mỗi ứng dụng.
Tạo một Kho Lưu Trữ
Để tạo một kho lưu trữ, hãy làm theo các bước dưới đây:
-
Điều hướng đến trang Tổ Chức của bạn trong Gitea hoặc bảng điều khiển cá nhân của bạn.
-
Nhấp vào nút New Repository.
- Cấu hình các cài đặt kho lưu trữ:
- Owner: Chọn tài khoản cá nhân của bạn hoặc tổ chức của dự án (cần có quyền thích hợp).
- Repository Name: Nhập một tên duy nhất cho kho lưu trữ.
- Visibility: Chọn xem kho lưu trữ là Public hay Private. Các kho lưu trữ Public có thể được xem bởi người dùng ẩn danh.
- Description: Tùy chọn nhập mô tả cho kho lưu trữ.
- Issue Labels: Tùy chọn chỉ định một tập hợp nhãn cho các vấn đề.
- .gitignore: Chọn một mẫu
.gitignore
theo ngôn ngữ nếu muốn. - License: Chọn một giấy phép phần mềm cho mã của bạn.
- README: Chọn xem có khởi tạo kho lưu trữ với tệp README hay không.
- Initialize Repository: Đánh dấu ô này để tự động thêm các tệp
.gitignore
, Giấy phép và README đã chọn khi tạo.
- Nhấp vào Create Repository.
Các Hoạt Động Git Cơ Bản (sử dụng Git CLI)
Bạn tương tác với các kho Gitea của bạn bằng cách sử dụng các lệnh giao diện dòng lệnh (CLI) Git tiêu chuẩn.
Cấu hình người dùng Git
Trước khi cam kết, hãy đảm bảo cấu hình Git cục bộ của bạn đã thiết lập thông tin người dùng của bạn:
$ git config --global user.email "your_email@example.com"
$ git config --global user.name "Your Name"
Nhân bản một kho
Tìm URL kho (HTTPS hoặc SSH) trên trang chính của kho trong Gitea và tải xuống một kho về máy tính cục bộ của bạn lần đầu tiên:
$ git clone <repository_url>
Bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu Gitea của bạn (mật khẩu được thiết lập cho các thao tác CLI).
Kiểm tra trạng thái
Xem trạng thái của thư mục làm việc và khu vực staging của bạn:
$ git status
Điều này hiển thị các tệp đã sửa đổi, thêm hoặc không được theo dõi.
Giai đoạn thay đổi
Thêm các thay đổi trong thư mục làm việc của bạn vào khu vực staging (chỉ mục) trước khi cam kết.
$ git add <file_name_or_path>
# hoặc giai đoạn tất cả các thay đổi
$ git add .
Các tệp phải được giai đoạn ('theo dõi') để được bao gồm trong một cam kết.
Cam kết thay đổi
Ghi lại các thay đổi đã được giai đoạn vào lịch sử kho cục bộ của bạn.
$ git commit -m "Your descriptive commit message"
Điều này lưu lại ảnh chụp cục bộ; nó không ảnh hưởng đến kho Gitea từ xa chưa.
Kéo thay đổi
Lấy các thay đổi từ kho Gitea từ xa và hợp nhất chúng vào nhánh cục bộ hiện tại của bạn. Hãy làm điều này thường xuyên để cập nhật.
git pull origin <branch_name>
Đẩy thay đổi
Tải lên các cam kết cục bộ của bạn lên kho Gitea từ xa:
git push origin <branch_name>
origin
thường đề cập đến máy chủ Gitea từ xa. branch_name
là nhánh bạn muốn đẩy (ví dụ: master
, main
, develop
). Bạn sẽ được yêu cầu nhập thông tin xác thực nếu không được lưu vào bộ nhớ cache.
Tích hợp với Build Pipelines
Mã nguồn được lưu trữ trong Gitea là trung tâm của quy trình CI/CD trên ZCP.
- Khi tạo một ứng dụng trong phần
Applications
, bạn phải cung cấp URL của Git Repository trỏ đến kho lưu trữ Gitea của bạn. - Truy cập an toàn vào kho lưu trữ trong quá trình xây dựng được xử lý thông qua Secrets được cấu hình trong cài đặt Ứng dụng.
- Mỗi pipeline xây dựng được cấu hình để kiểm tra mã nguồn từ một nhánh cụ thể trong kho lưu trữ Gitea liên kết. Điều này cho phép xây dựng các phiên bản hoặc môi trường khác nhau (ví dụ:
develop
,staging
,master
) từ cùng một mã nguồn.