rebuild and optimize binary
This commit is contained in:
121
DISTRIBUTION.md
Normal file
121
DISTRIBUTION.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# Distribution Guide
|
||||
|
||||
## Single Binary Distribution
|
||||
|
||||
Ya, untuk distribusi cukup share file `drive-migrator.exe` saja! Binary Go sudah self-contained.
|
||||
|
||||
### Build untuk Distribusi
|
||||
|
||||
```bash
|
||||
# Build optimized (ukuran lebih kecil)
|
||||
go build -ldflags="-s -w" -buildvcs=false
|
||||
|
||||
# Hasil: drive-migrator.exe (~7.4 MB)
|
||||
```
|
||||
|
||||
### Requirements untuk End User
|
||||
|
||||
**Yang WAJIB ada di mesin target:**
|
||||
1. **rclone** - Download dari https://rclone.org/downloads/
|
||||
```bash
|
||||
# Windows (PowerShell as Admin)
|
||||
winget install Rclone.Rclone
|
||||
|
||||
# Atau manual download dan add ke PATH
|
||||
```
|
||||
|
||||
**Yang TIDAK perlu:**
|
||||
- Go compiler
|
||||
- Source code
|
||||
- Dependencies lain
|
||||
|
||||
### Cara Distribusi
|
||||
|
||||
#### Option 1: Direct Binary
|
||||
```
|
||||
📁 drive-migrator-v1.0/
|
||||
├── drive-migrator.exe
|
||||
├── README.md
|
||||
└── examples/
|
||||
├── nextcloud-to-gdrive.bat
|
||||
└── gdrive-to-onedrive.bat
|
||||
```
|
||||
|
||||
#### Option 2: Installer Package
|
||||
Buat installer sederhana yang:
|
||||
1. Copy `drive-migrator.exe` ke `C:\Program Files\drive-migrator\`
|
||||
2. Add ke PATH
|
||||
3. Check apakah rclone sudah terinstall
|
||||
4. Buat shortcut di Start Menu
|
||||
|
||||
#### Option 3: Portable ZIP
|
||||
```
|
||||
📁 drive-migrator-portable.zip
|
||||
├── drive-migrator.exe
|
||||
├── README.md
|
||||
├── examples/
|
||||
└── install-rclone.bat # Script untuk install rclone otomatis
|
||||
```
|
||||
|
||||
### Cross-Platform Build
|
||||
|
||||
Untuk distribusi multi-platform:
|
||||
|
||||
```bash
|
||||
# Windows 64-bit
|
||||
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -buildvcs=false -o dist/windows/drive-migrator.exe
|
||||
|
||||
# Linux 64-bit
|
||||
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -buildvcs=false -o dist/linux/drive-migrator
|
||||
|
||||
# macOS 64-bit
|
||||
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -buildvcs=false -o dist/macos/drive-migrator
|
||||
|
||||
# macOS ARM (M1/M2)
|
||||
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -buildvcs=false -o dist/macos-arm/drive-migrator
|
||||
```
|
||||
|
||||
### Example Batch Files untuk User
|
||||
|
||||
**nextcloud-to-gdrive.bat:**
|
||||
```batch
|
||||
@echo off
|
||||
echo Starting Nextcloud to Google Drive migration...
|
||||
drive-migrator.exe migrate ^
|
||||
--source-name nextcloud_source ^
|
||||
--source-type nextcloud ^
|
||||
--source-url "https://your-nextcloud.com/remote.php/dav/files/username" ^
|
||||
--source-user "username" ^
|
||||
--source-pass "password" ^
|
||||
--dest-name gdrive_dest ^
|
||||
--dest-type gdrive ^
|
||||
--dest-sa-file "service-account.json" ^
|
||||
--log-file migration.log ^
|
||||
--include "Documents/**"
|
||||
pause
|
||||
```
|
||||
|
||||
### Checklist Distribusi
|
||||
|
||||
- ✅ Binary sudah optimized (`-ldflags="-s -w"`)
|
||||
- ✅ README dengan contoh penggunaan
|
||||
- ✅ Example scripts/batch files
|
||||
- ✅ Instruksi install rclone
|
||||
- ✅ Troubleshooting guide
|
||||
- ⚠️ Test di mesin bersih (tanpa Go/development tools)
|
||||
|
||||
### Tips untuk End User
|
||||
|
||||
1. **Letakkan di folder khusus:**
|
||||
```
|
||||
C:\Tools\drive-migrator\
|
||||
├── drive-migrator.exe
|
||||
├── configs/
|
||||
└── logs/
|
||||
```
|
||||
|
||||
2. **Add ke PATH** agar bisa dipanggil dari mana saja
|
||||
|
||||
3. **Buat config file** di `%USERPROFILE%\.drive-migrator.yaml`
|
||||
|
||||
Jadi ya, cukup share `drive-migrator.exe` + dokumentasi + pastikan user install rclone!
|
||||
Binary file not shown.
Reference in New Issue
Block a user