HỌC BẰNG THỰC HÀNH
← Lộ trình học
03 — Git, Bash và cấu hình

Remote, pull request và release

Thực hiện trên server của bạn, rồi kiểm tra từng tiêu chí.

Cốt lõi

Remote, pull request và release

Mục tiêu

Đẩy ứng dụng vào GitHub của bạn, tạo PR có review và đánh dấu một release.

Hiểu trước khi làm

Remote origin không nhất thiết là nguồn sự thật nếu branch đã diverge. PR là đơn vị review; tag thường dùng chỉ phiên bản phát hành. SemVer MAJOR đổi không tương thích, MINOR thêm tính năng tương thích, PATCH sửa lỗi. Tag có thể bị di chuyển nên image digest/commit SHA đáng tin hơn tag khi triển khai.

Chuẩn bị

Hoàn thành các bài cốt lõi trước đó trong module; dùng workspace ~/kdc-labs và ứng dụng mẫu ở project. Chạy agent trên chính máy làm bài, với lab root ~/kdc-labs.

Tải ứng dụng mẫu KDC Notes · Cách tải và chuẩn bị workspace. Không cần mã nguồn nền tảng khóa học.

cd ~/kdc-labs/project
mkdir -p ../evidence
Giải thích lệnh và tham số

cd chuyển vào repo ứng dụng của bạn; .. là thư mục cha ~/kdc-labs. mkdir -p tạo thư mục bằng chứng nếu chưa có, không báo lỗi khi đã tồn tại. Mọi đường dẫn tương đối ở dưới tính từ đây, trừ khi bước ghi rõ máy/thư mục khác.

Thực hành

Tạo repository GitHub trống trong tài khoản của bạn. Dùng URL SSH/HTTPS do GitHub cấp, không repo nền tảng. Nhập URL khi chạy:

printf "URL repository của bạn: "
read -r KDC_REPO_URL
git remote add origin "$KDC_REPO_URL"
git push -u origin main
git switch -c docs/release
git fetch origin
git log --oneline --left-right main...origin/main
Giải thích lệnh và tham số

read -r đọc URL. remote add đặt địa chỉ repo, push -u thiết lập upstream. fetch chưa sửa working tree. --left-right đánh dấu commit chỉ ở mỗi nhánh, dấu ... là symmetric difference.

Sửa README bằng hướng dẫn rollback v1, commit và push branch. Trên GitHub tạo PR vào main, mô tả trigger, hành vi mới, cách kiểm tra và rủi ro. Tự review Files changed, yêu cầu một người review nếu có; merge khi kiểm tra đạt. Pull lại main bằng --ff-only để không tự tạo merge ngoài ý muốn.

git switch main
git pull --ff-only
git tag -a v0.1.0 -m "First lab release"
git push origin v0.1.0
git show v0.1.0 --no-patch > ../evidence/git-release.txt
Giải thích lệnh và tham số

pull --ff-only chỉ cập nhật khi fast-forward, dừng nếu diverge. tag -a tạo annotated tag có thông điệp -m. show --no-patch chỉ xem metadata, không in diff.

Tạo release-notes.md chứa URL PR, commit SHA, tag, cách test và rollback. Khi authentication lỗi, dùng SSH agent hoặc credential manager; không dán access token vào URL remote hay báo cáo.

Tiêu chí tệp nộp bài

Các đường dẫn dưới đây tính từ lab root ~/kdc-labs, không từ thư mục project. Không viết sẵn kết quả giả để qua kiểm tra. Tệp có đúng tiêu đề chưa chứng minh đã thực hiện bài; giữ đầu ra thật và tự đối chiếu các phép thử.

  • evidence/git-release.txt — có nội dung v0.1.0.
  • project/release-notes.md — có nội dung ## Rollback.
  • evidence/git-remote-release.md — có nội dung ## Kết quả.

Tự kiểm tra

Remote trỏ đúng repo của học viên, PR đã review, tag trỏ commit mong muốn và release notes có rollback. Các checker tệp không gọi GitHub để xác nhận PR.

Kiểm tra trên web xác nhận tệp cấu hình hoặc hồ sơ bài làm dưới lab root; không xác nhận dịch vụ cloud, kết quả CI hay nội dung lập luận. Bạn phải thực hiện các phép thử bên trên và lưu đầu ra thật để tự đối chiếu.

Lưu bằng chứng

Tạo evidence/git-remote-release.md bằng trình soạn thảo, gồm các mục dưới đây. Điền số liệu và lệnh đã chạy, thời điểm, đầu ra trước/sau, cùng kết luận của bạn; không chỉ sao chép tiêu đề. Không lưu token, mật khẩu, kubeconfig hoặc dump dữ liệu vào báo cáo.

## Môi trường
Hệ điều hành, phiên bản công cụ, cluster/VM và thời điểm.

## Kết quả
Lệnh kiểm tra, đầu ra đã che thông tin nhạy cảm, kết quả mong đợi/thực tế.

## Giải thích
Vì sao cách làm đạt mục tiêu; giới hạn của phép kiểm tra.

## Khôi phục
Cách rollback/cleanup riêng các tài nguyên lab và cách xác nhận lại.

Tài liệu chính thức