5 min read
Deployment Guide
Building something is only half the journey. This guide covers how to deploy web apps, macOS apps, and iOS apps so others can use them.
Web Deployment
Vercel
Best for: React, Next.js, static sites
Help me deploy this to Vercel.
Walk me through connecting my project.
The process:
- Create a Vercel account
- Connect your GitHub repo (or drag and drop)
- Vercel auto-detects your framework
- Click deploy
After deployment:
- Automatic HTTPS
- Custom domain support
- Auto-deploys when you push to GitHub
Netlify
Best for: Static sites, Jamstack
Help me deploy this to Netlify.
Similar to Vercel:
- GitHub integration
- Automatic builds
- Custom domains
- Free tier available
GitHub Pages
Best for: Simple static sites, documentation
Set up GitHub Pages for this repository.
Limitations:
- Static files only (no server-side code)
- Must be a public repo (for free tier)
Choosing a host
| Need | Recommendation |
|---|---|
| React/Next.js | Vercel |
| Simple static site | Netlify or GitHub Pages |
| Need a database | Vercel, Railway, or Render |
| Full control | DigitalOcean, AWS |
macOS Deployment
Development builds
Running from Xcode is fine for testing, but to share with others:
Build the app so I can run it outside Xcode.
Creating a distributable app
Create a release build of the app.
I want to share it with others.
This creates an .app file you can:
- Put in your Applications folder
- Share via AirDrop or file sharing
- Upload to a website
Code signing (for wider distribution)
Without signing, macOS shows security warnings.
Help me set up code signing for this app.
Requires:
- Apple Developer account ($99/year)
- Signing certificate
- Notarization for Gatekeeper
For personal use
If it’s just for you:
- Right-click → Open to bypass Gatekeeper
- Or add to System Preferences → Security exceptions
iOS Deployment
Running on your device
Help me run this on my iPhone via Xcode.
Requires:
- iPhone connected via cable (first time)
- Free Apple ID (limited to 3 apps, 7-day expiry)
- Or paid Apple Developer account
TestFlight (beta testing)
Help me submit this to TestFlight.
Walk me through the process.
TestFlight allows:
- Testing on multiple devices
- Inviting others to test
- 90-day builds
- Feedback collection
Requires:
- Apple Developer account ($99/year)
- App Store Connect setup
- Build upload via Xcode
App Store submission
Help me prepare this for App Store submission.
What do I need?
Requirements:
- Apple Developer account
- App icons at all sizes
- Screenshots for each device size
- Privacy policy
- App description and metadata
- App review approval
App Store guidelines
Apple reviews all apps. Common rejection reasons:
- Bugs or crashes
- Incomplete functionality
- Privacy issues
- Guideline violations
Deployment Checklist
Web
- Build completes without errors
- Environment variables configured
- Custom domain set up (optional)
- HTTPS enabled
- Test all features on live site
macOS
- App runs outside Xcode
- Code signed (for distribution)
- Notarized (for Gatekeeper)
- Works on clean system
iOS
- Runs on physical device
- All icon sizes provided
- Launch screen configured
- Privacy descriptions added
- TestFlight build uploaded
- Tested by others
Custom Domains
For web apps
Help me connect my custom domain [yourdomain.com]
to my Vercel deployment.
General steps:
- Add domain in hosting dashboard
- Update DNS records at your registrar
- Wait for propagation (up to 48 hours)
- SSL certificate auto-provisioned
DNS record types
- A record: Points domain to IP address
- CNAME: Points domain to another domain
- Your host will tell you which to use
Environment Variables
What they’re for
- API keys
- Database URLs
- Environment-specific settings
Setting them up
Help me set up environment variables for deployment.
I have these secrets: [list them]
Never commit secrets to git — use environment variables instead.
Continuous Deployment
Auto-deploy on push
Most modern hosts auto-deploy when you push to main:
- Push code to GitHub
- Host detects the push
- Builds and deploys automatically
Set up continuous deployment from GitHub.
Deploy when I push to the main branch.
What You’ll Learn
- Web deployment options and when to use each
- Building distributable macOS apps
- iOS deployment via TestFlight and App Store
- Custom domain configuration
- Environment variables for secrets
- Continuous deployment workflows