CLI tương tác để bootstrap dự án Shipyard và quản lý GitHub Secrets.
setup: thay choshipyard.sh, cấu hình ban đầu + set secrets.secrets: thay choshipyard_secret.sh, cập nhật secrets tương tác.
Chạy trực tiếp như package:
curl -fsSL https://raw.githubusercontent.com/shipyard-io/templates/main/bash-cli/install.sh | bashChạy luôn command sau khi cài:
curl -fsSL https://raw.githubusercontent.com/shipyard-io/templates/main/bash-cli/install.sh | bash -s -- setup
curl -fsSL https://raw.githubusercontent.com/shipyard-io/templates/main/bash-cli/install.sh | bash -s -- secretsScript sẽ:
- Tự detect OS/ARCH
- Tải binary prebuilt từ GitHub Releases nếu có
- Nếu chưa có release phù hợp thì fallback build từ source (cần
go) - Cài vào
~/.local/bin/shipyard(override bằngSHIPYARD_INSTALL_DIR)
- Cài và login GitHub CLI (
gh auth login) - Có quyền SSH vào VPS
- Nếu không có prebuilt binary cho platform của bạn: cần thêm Go + Git để fallback build
cd bash-cli
go build -o shipyard ./cmd/shipyard
./shipyard setup
./shipyard secrets./shipyard setup --repo owner/repo
./shipyard setup --non-interactive --repo owner/repo --env-file .env
./shipyard secrets --repo owner/repo
./shipyard secrets --non-interactive --repo owner/repo --secret ENV_FILE_CONTENT --value-file .envBiến môi trường hỗ trợ:
SHIPYARD_SERVER_IP(required)SHIPYARD_APP_NAME(required)SHIPYARD_SERVER_USER(defaultroot)SHIPYARD_SSH_KEY_PATH(default~/.ssh/id_rsa)SHIPYARD_APP_PORT(default80)SHIPYARD_HEALTH_CHECK_PATH(default/)SHIPYARD_APP_DOMAINSHIPYARD_DOMAINSHIPYARD_CUSTOM_ENVS(nhiều dòngKEY=VALUE)SHIPYARD_TELEGRAM_BOT_TOKENSHIPYARD_TELEGRAM_CHAT_IDSHIPYARD_CLOUDFLARE_ORIGIN_CERTSHIPYARD_CLOUDFLARE_ORIGIN_KEYSHIPYARD_TRAEFIK_DASHBOARD_AUTH
Ví dụ:
SHIPYARD_SERVER_IP=1.2.3.4 \
SHIPYARD_APP_NAME=myapp \
SHIPYARD_SERVER_USER=ubuntu \
SHIPYARD_SSH_KEY_PATH=$HOME/.ssh/id_rsa \
SHIPYARD_APP_PORT=3000 \
SHIPYARD_HEALTH_CHECK_PATH=/health \
./shipyard setup --non-interactive --repo your-org/your-repo --env-file .env./shipyard secrets --non-interactive --repo your-org/your-repo --secret SERVER_IP --value 1.2.3.4
./shipyard secrets --non-interactive --repo your-org/your-repo --secret SSH_PRIVATE_KEY --value-file ~/.ssh/id_rsaBạn vẫn có thể chạy:
./shipyard.sh
./shipyard_secret.shHai script này giờ chỉ là wrapper mỏng gọi binary Go.
Với các trường dạng paste nhiều dòng (.env, certificate...), nhập xong dùng một dòng END để kết thúc.