vercel-deploy
# Vercel Deployment & Management
Deploy and manage Vercel projects. No "AI will build your app" nonsense - just practical Vercel operations.
## Configuration
### Vercel Setup
**Get your token:**
1. Go to https://vercel.com/account/tokens
2. Create token (name it "OpenClaw")
3. Set in environment:
```bash
export VERCEL_TOKEN="your-token-here"
```
Or store in `.env`:
```
VERCEL_TOKEN=your-token-here
```
## Vercel Operations
### Deploy Project
```bash
# Deploy to preview
scripts/vercel_deploy.sh --project bountylock --preview
# Deploy to production
scripts/vercel_deploy.sh --project bountylock --production
```
### Manage Environment Variables
```bash
# List env vars
scripts/vercel_env.sh --project bountylock --list
# Set env var
scripts/vercel_env.sh --project bountylock --set \
--key NEXT_PUBLIC_RPC_URL \
--value "https://sepolia.base.org" \
--env production
# Delete env var
scripts/vercel_env.sh --project bountylock --delete \
--key OLD_VAR \
--env production
```
### Check Deployment Status
```bash
# Get latest deployment
scripts/vercel_status.sh --project bountylock
# Get specific deployment
scripts/vercel_status.sh --deployment dpl_abc123
```
### View Logs
```bash
# Get deployment logs
scripts/vercel_logs.sh --deployment dpl_abc123
# Get runtime logs
scripts/vercel_logs.sh --project bountylock --function api/bounties
```
## Common Workflows
### Initial Testnet Deployment
1. **Set environment variables:**
```bash
# Contract addresses (after deploying to Sepolia)
scripts/vercel_env.sh --project bountylock --set \
--key NEXT_PUBLIC_CONTRACT_ADDRESS \
--value "0x..." \
--env production
# RPC URL
scripts/vercel_env.sh --project bountylock --set \
--key NEXT_PUBLIC_RPC_URL \
--value "https://sepolia.base.org" \
--env production
# Chain ID
scripts/vercel_env.sh --project bountylock --set \
--key NEXT_PUBLIC_CHAIN_ID \
--value "84532" \
--env production
```
2. **Deploy:**
```bash
scripts/vercel_deploy.sh --project bountylock --production
```
3. **Check status:**
```bash
scripts/vercel_status.sh --project bountylock
```
### Update Environment Variables
```bash
# Update contract address after redeployment
scripts/vercel_env.sh --project bountylock --set \
--key NEXT_PUBLIC_CONTRACT_ADDRESS \
--value "0xNEW_ADDRESS" \
--env production
# Trigger new deployment to use updated vars
scripts/vercel_deploy.sh --project bountylock --production
```
### Debug Deployment Issues
```bash
# Get latest deployment info
scripts/vercel_status.sh --project bountylock
# Get build logs
scripts/vercel_logs.sh --deployment dpl_abc123
# Check environment variables
scripts/vercel_env.sh --project bountylock --list
```
## Security Best Practices
1. **Token Scope:** Use project-scoped tokens when possible
2. **Rotation:** Rotate tokens periodically
3. **Audit:** Review deployment logs regularly
4. **Secrets:** Never commit tokens to git
## Troubleshooting
**"Authentication failed"**
- Check token is set correctly
- Verify token hasn't expired
**"Project not found"**
- Verify project name matches Vercel project
- Check account has access to project
**"Deployment failed"**
- Check build logs: `scripts/vercel_logs.sh --deployment dpl_xxx`
- Verify environment variables are set correctly
- Check for build errors in code
## Reference Files
- **Vercel API Reference:** See [vercel-api.md](references/vercel-api.md) for complete API documentation
- **Deployment Patterns:** See [deployment-patterns.md](references/deployment-patterns.md) for common deployment workflows
标签
skill
ai