feat: configure public HTTPS installer URL for universal access
- Update install.sh to use public HTTPS git URL without requiring SSH credentials - Update README.md with exact 1-line curl installer command for any developer - Fix argument parsing for flags like --force Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -104,30 +104,23 @@ agent-unit-testing/
|
|||||||
|
|
||||||
## 3. Cài Đặt Trực Tiếp Vào Source Code (Không Cần Clone Repo)
|
## 3. Cài Đặt Trực Tiếp Vào Source Code (Không Cần Clone Repo)
|
||||||
|
|
||||||
Bất kỳ ai muốn sử dụng bộ công cụ này **KHÔNG CẦN phải clone source code công cụ về máy**.
|
Bất kỳ ai muốn sử dụng bộ công cụ này (dù trong hay ngoài team, trên bất kỳ máy tính nào) **KHÔNG CẦN phải clone repository công cụ về máy**.
|
||||||
|
|
||||||
Chỉ cần mở Terminal, `cd` vào thư mục dự án Laravel của bạn và chạy **đúng 1 dòng lệnh**:
|
Chỉ cần mở Terminal, `cd` vào thư mục dự án Laravel của bạn và chạy **đúng 1 dòng lệnh duy nhất**:
|
||||||
|
|
||||||
### 🌟 1 Dòng Lệnh Cài Đặt Từ Xa (Remote 1-Line Installer)
|
|
||||||
```bash
|
```bash
|
||||||
cd /duong-dan/toi/source-code-laravel-cua-ban
|
cd /duong-dan/toi/source-code-laravel-cua-ban
|
||||||
|
|
||||||
# Chạy lệnh cài đặt từ xa:
|
# 🌟 Cài đặt trực tiếp qua HTTPS công khai (không cần tài khoản, không cần SSH key):
|
||||||
curl -fsSL https://raw.githubusercontent.com/<OWNER>/agent-unit-testing/main/install.sh | bash
|
curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh | bash
|
||||||
```
|
```
|
||||||
|
|
||||||
*(Đối với thành viên trong nội bộ team Smartgift hoặc khi dùng Git SSH server):*
|
*(Nếu thư mục đang trống hoặc chưa có file `composer.json`, thêm cờ `--force` vào cuối: `... | bash -s -- --force`)*.
|
||||||
```bash
|
|
||||||
cd /duong-dan/toi/source-code-laravel-cua-ban
|
|
||||||
|
|
||||||
# Cài đặt trực tiếp qua Git mà không cần lưu repo công cụ:
|
|
||||||
bash <(git archive --remote=ssh://git@ssh-git.smartgift.io.vn:2222/Smartgift-AI/agent-unit-testing.git main install.sh | tar -xO)
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### 🎯 Quy Trình Tự Động Diễn Ra Ngầm:
|
### 🎯 Quy Trình Tự Động Diễn Ra Ngầm:
|
||||||
1. Script sẽ tải các tài nguyên cần thiết từ xa vào thư mục tạm `/tmp/`.
|
1. Script sẽ tải các tài nguyên cần thiết từ xa qua HTTPS vào thư mục tạm `/tmp/`.
|
||||||
2. Tự động cấy trực tiếp vào source code của bạn:
|
2. Tự động cấy trực tiếp vào source code của bạn:
|
||||||
- Thư mục `.claude/skills/` (với trọn bộ 4 Skills viết test tự động).
|
- Thư mục `.claude/skills/` (với trọn bộ 4 Skills viết test tự động).
|
||||||
- Thư mục `.claude/testing-docs/` (cẩm nang quy chuẩn 13 tầng Laravel).
|
- Thư mục `.claude/testing-docs/` (cẩm nang quy chuẩn 13 tầng Laravel).
|
||||||
@@ -141,12 +134,16 @@ bash <(git archive --remote=ssh://git@ssh-git.smartgift.io.vn:2222/Smartgift-AI/
|
|||||||
|
|
||||||
## 4. Tùy Chọn: Cài Đặt Toàn Cục Cho Toàn Máy Tính (Global Mode)
|
## 4. Tùy Chọn: Cài Đặt Toàn Cục Cho Toàn Máy Tính (Global Mode)
|
||||||
|
|
||||||
Nếu bạn là lập trình viên muốn cài 1 lần duy nhất cho toàn bộ máy tính (để mọi source code mở Claude Code lên đều tự có sẵn các lệnh):
|
Nếu bạn muốn cài 1 lần duy nhất cho toàn bộ máy tính (để mọi source code mở Claude Code lên đều tự có sẵn các lệnh):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://raw.githubusercontent.com/<OWNER>/agent-unit-testing/main/install.sh | bash -s -- --global
|
curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh | bash -s -- --global
|
||||||
```
|
```
|
||||||
|
|
||||||
|
🎯 **Lợi ích:**
|
||||||
|
- Tự động cài đặt 4 Skills vào `~/.claude/skills/`.
|
||||||
|
- Đăng ký lệnh `laravel-test-init` (hoặc `sg-test-init`) vào Terminal để gõ ở bất kỳ thư mục nào cũng tự tạo `test-runner.sh`.
|
||||||
|
|
||||||
🎯 **Lợi ích:**
|
🎯 **Lợi ích:**
|
||||||
- Tự động cài đặt 4 Skills vào `~/.claude/skills/`.
|
- Tự động cài đặt 4 Skills vào `~/.claude/skills/`.
|
||||||
- Đăng ký lệnh `sg-test-init` (hoặc `laravel-test-init`) vào Terminal để gõ ở bất kỳ thư mục nào cũng tự tạo `test-runner.sh`.
|
- Đăng ký lệnh `sg-test-init` (hoặc `laravel-test-init`) vào Terminal để gõ ở bất kỳ thư mục nào cũng tự tạo `test-runner.sh`.
|
||||||
@@ -299,9 +296,9 @@ laravel-test-init --force
|
|||||||
|
|
||||||
| Nhiệm Vụ | Lệnh Terminal / Claude Code | Ngữ Cảnh Sử Dụng |
|
| Nhiệm Vụ | Lệnh Terminal / Claude Code | Ngữ Cảnh Sử Dụng |
|
||||||
| :--- | :--- | :--- |
|
| :--- | :--- | :--- |
|
||||||
| **Cài đặt từ xa (Không cần clone)** | `curl -fsSL <URL>/install.sh \| bash` | Đứng tại source code Laravel và chạy 1 dòng duy nhất |
|
| **Cài đặt từ xa (Không cần clone)** | `curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh \| bash` | Đứng tại source code Laravel và chạy 1 dòng duy nhất |
|
||||||
| **Cài đặt toàn cục (Global Mode)** | `curl -fsSL <URL>/install.sh \| bash -s -- --global` | Cài vào máy dùng cho mọi folder |
|
| **Cài đặt toàn cục (Global Mode)** | `curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh \| bash -s -- --global` | Cài vào máy dùng cho mọi folder |
|
||||||
| **Cài đặt vào thư mục trống** | `curl -fsSL <URL>/install.sh \| bash -s -- . --force` | Dùng khi thư mục chưa có `composer.json` |
|
| **Cài đặt vào thư mục trống** | `curl -fsSL https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing/raw/branch/main/install.sh \| bash -s -- . --force` | Dùng khi thư mục chưa có `composer.json` |
|
||||||
| **Khởi tạo test runner nhanh** | `laravel-test-init` (hoặc `sg-test-init`) | Gõ tại terminal của bất kỳ dự án nào |
|
| **Khởi tạo test runner nhanh** | `laravel-test-init` (hoặc `sg-test-init`) | Gõ tại terminal của bất kỳ dự án nào |
|
||||||
| **Cập nhật bộ công cụ (1-Click)** | `laravel-test-update` (hoặc `sg-test-update`) | Kéo bản mới nhất từ Git về máy mọi lúc |
|
| **Cập nhật bộ công cụ (1-Click)** | `laravel-test-update` (hoặc `sg-test-update`) | Kéo bản mới nhất từ Git về máy mọi lúc |
|
||||||
| **Quét & Setup môi trường test** | `/laravel-test-setup` | Chạy trong Claude Code để kiểm tra cấu hình |
|
| **Quét & Setup môi trường test** | `/laravel-test-setup` | Chạy trong Claude Code để kiểm tra cấu hình |
|
||||||
@@ -316,8 +313,6 @@ laravel-test-init --force
|
|||||||
| **Chạy test tự nhận diện** | `./test-runner.sh --filter=MyTest` | Tự bắt Docker / Sail / Local |
|
| **Chạy test tự nhận diện** | `./test-runner.sh --filter=MyTest` | Tự bắt Docker / Sail / Local |
|
||||||
| **Tra cứu sửa lỗi** | Đọc `docs/07-troubleshooting-and-debugging.md` | Sửa 10 lỗi thường gặp nhất |
|
| **Tra cứu sửa lỗi** | Đọc `docs/07-troubleshooting-and-debugging.md` | Sửa 10 lỗi thường gặp nhất |
|
||||||
| **Tra cứu 7 ca khó** | Đọc `docs/09-advanced-edge-cases.md` | `DB::transaction()`, Trait, Upload file, Queue |
|
| **Tra cứu 7 ca khó** | Đọc `docs/09-advanced-edge-cases.md` | `DB::transaction()`, Trait, Upload file, Queue |
|
||||||
| **Tra cứu sửa lỗi** | Đọc `docs/07-troubleshooting-and-debugging.md` | Sửa 10 lỗi thường gặp nhất |
|
|
||||||
| **Tra cứu 7 ca khó** | Đọc `docs/09-advanced-edge-cases.md` | `DB::transaction()`, Trait, Upload file, Queue |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
+20
-5
@@ -23,11 +23,11 @@ CYAN='\033[0;36m'
|
|||||||
BOLD='\033[1m'
|
BOLD='\033[1m'
|
||||||
NC='\033[0m'
|
NC='\033[0m'
|
||||||
|
|
||||||
# Remote Repository URL (Có thể override qua biến môi trường LARAVEL_TEST_REPO)
|
# Remote Repository URL công khai qua HTTPS (ai cũng truy cập được không cần SSH key)
|
||||||
DEFAULT_REPO="ssh://git@ssh-git.smartgift.io.vn:2222/Smartgift-AI/agent-unit-testing.git"
|
DEFAULT_REPO="https://git.smartgift.io.vn/Smartgift-AI/agent-unit-testing.git"
|
||||||
REPO_URL="${LARAVEL_TEST_REPO:-$DEFAULT_REPO}"
|
REPO_URL="${LARAVEL_TEST_REPO:-$DEFAULT_REPO}"
|
||||||
|
|
||||||
TARGET_DIR="${1:-.}"
|
TARGET_DIR=""
|
||||||
GLOBAL_MODE=false
|
GLOBAL_MODE=false
|
||||||
FORCE_MODE=false
|
FORCE_MODE=false
|
||||||
|
|
||||||
@@ -54,14 +54,19 @@ for arg in "$@"; do
|
|||||||
echo -e " ${YELLOW}curl -fsSL <URL>/install.sh | bash -s -- . --force${NC}"
|
echo -e " ${YELLOW}curl -fsSL <URL>/install.sh | bash -s -- . --force${NC}"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
-*)
|
||||||
|
# Bỏ qua các flag khác
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
if [ "$arg" != "." ] && [ ! -d "$arg" ] && [ "$GLOBAL_MODE" = false ]; then
|
if [ -z "$TARGET_DIR" ]; then
|
||||||
TARGET_DIR="$arg"
|
TARGET_DIR="$arg"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
|
TARGET_DIR="${TARGET_DIR:-.}"
|
||||||
|
|
||||||
echo -e "${BLUE}===================================================================${NC}"
|
echo -e "${BLUE}===================================================================${NC}"
|
||||||
echo -e "${CYAN}${BOLD} 🚀 SMARTGIFT AI - LARAVEL UNIT TESTING TOOLKIT INSTALLER${NC}"
|
echo -e "${CYAN}${BOLD} 🚀 SMARTGIFT AI - LARAVEL UNIT TESTING TOOLKIT INSTALLER${NC}"
|
||||||
echo -e "${BLUE}===================================================================${NC}"
|
echo -e "${BLUE}===================================================================${NC}"
|
||||||
@@ -82,7 +87,17 @@ if [ -n "$SCRIPT_DIR" ] && [ -d "$SCRIPT_DIR/.claude/skills" ]; then
|
|||||||
else
|
else
|
||||||
echo -e "${YELLOW}📥 Đang tải bộ công cụ từ remote repository...${NC}"
|
echo -e "${YELLOW}📥 Đang tải bộ công cụ từ remote repository...${NC}"
|
||||||
TMP_DIR="$(mktemp -d 2>/dev/null || mktemp -d -t 'sg_unit_testing')"
|
TMP_DIR="$(mktemp -d 2>/dev/null || mktemp -d -t 'sg_unit_testing')"
|
||||||
git clone --depth 1 "$REPO_URL" "$TMP_DIR" --quiet
|
|
||||||
|
# Thử clone qua git
|
||||||
|
if ! git clone --depth 1 "$REPO_URL" "$TMP_DIR" --quiet 2>/dev/null; then
|
||||||
|
echo -e "${RED}❌ Không thể clone từ repository: $REPO_URL${NC}"
|
||||||
|
echo -e "${YELLOW}💡 Lưu ý dành cho người dùng bên ngoài:${NC}"
|
||||||
|
echo -e " Nếu bạn không phải thành viên có SSH key nội bộ, hãy chạy với URL HTTPS công khai:"
|
||||||
|
echo -e " ${CYAN}LARAVEL_TEST_REPO=https://github.com/<OWNER>/<REPO>.git curl -fsSL <URL>/install.sh | bash${NC}"
|
||||||
|
rm -rf "$TMP_DIR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
PACKAGE_ROOT="$TMP_DIR"
|
PACKAGE_ROOT="$TMP_DIR"
|
||||||
CLEANUP_TEMP=true
|
CLEANUP_TEMP=true
|
||||||
echo -e "${GREEN}✓ Tải thành công!${NC}"
|
echo -e "${GREEN}✓ Tải thành công!${NC}"
|
||||||
|
|||||||
Reference in New Issue
Block a user