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 này 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ụ thể 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 mới dưới tổ chức của dự án trong Gitea.
Tổ chức và Kho
- Các Tổ chức Gitea Organizations: đượ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 theo quy ước:
REALM-PROJECT
. - Một kho Git Repositories: 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 cho mỗi ứng dụng.
Tạo một Kho
Để tạo một kho, 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:
- 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 phù hợp).
- Repository Name: Nhập một tên duy nhất cho kho.
- Visibility: Chọn xem kho có phải là Public hay Private. Các kho Public có thể được xem bởi người dùng ẩn danh.
- Description: Tùy chọn nhập mô tả cho kho.
- 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 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 thao tác Git cơ bản (sử dụng Git CLI)
Bạn tương tác với các kho Gitea của mình bằng cách sử dụng các lệnh giao diện dòng lệnh Git tiêu chuẩn (CLI).
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 chưa được theo dõi.
Ghi lại 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 ghi lại tất cả các thay đổi
$ git add .
Các tệp phải được ghi lại ('được 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 ghi lại 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ó chưa ảnh hưởng đến kho Gitea từ xa.
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 Các Pipeline Xây dựng
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 Kho Git trỏ đến kho Gitea của bạn. - Truy cập an toàn vào kho 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 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.