Introduction
Assembla and DeployHQ form a powerful combination for teams that need enterprise-grade repository hosting with streamlined deployment automation. While GitHub and GitLab dominate the market with their community-focused platforms, Assembla offers a specialized alternative for teams with specific needs around compliance, multi-VCS support, and integrated project management.
This guide will walk you through integrating Assembla with DeployHQ, explain why Assembla might be the right choice for your team, and show you how to leverage both tools for efficient code deployment.
Why Choose Assembla Over GitHub/GitLab/Bitbucket?
Assembla's Main Advantages
1. True Multi-VCS Support Assembla is the only cloud-based platform offering managed hosting for all three major version control systems:
- Git - Industry standard for modern development
- SVN (Subversion) - Still widely used in enterprise and game development
- Perforce - Essential for large binary files and game studios
GitHub, GitLab, and Bitbucket only support Git (Bitbucket dropped Mercurial support in 2020). If your team works with legacy SVN repositories or needs Perforce for game assets, Assembla is one of the few viable cloud options.
2. Compliance-First Architecture Assembla is built for regulated industries with enterprise-grade security:
- HIPAA compliant - Healthcare applications
- SOC 2 certified - Enterprise security standards
- PCI DSS ready - Payment processing applications
- GDPR compliant - European data privacy
The platform has maintained zero security breaches over 18 years of operation. For teams in healthcare, finance, or government sectors, this compliance focus can save months of security audits.
3. Integrated Project Management Unlike GitHub/GitLab which bolt on project management as an afterthought, Assembla was designed from the ground up to unify code and project management:
- Native ticket system linked directly to commits
- Built-in time tracking
- Kanban/Scrum boards
- Wiki and documentation
- Client and contractor collaboration tools
You don't need separate tools like Jira - everything lives in one platform.
4. Enterprise DevOps Support Assembla provides managed cloud hosting with dedicated DevOps engineers, which means:
- No infrastructure management required
- Guaranteed uptime SLAs
- Professional support for repository migrations
- Optimized performance for large repositories
When Assembla Makes Sense
Choose Assembla if you:
- Need SVN or Perforce alongside Git
- Work in regulated industries (healthcare, finance, government)
- Want project management integrated with your repositories
- Require dedicated DevOps support
- Have large binary files or game development assets
- Need granular RBAC (role-based access control)
When to Choose Competitors Instead
Stick with GitHub/GitLab/Bitbucket if:
- You need the largest open-source community (GitHub: 100M+ developers)
- You want the most extensive third-party integrations
- You're working on open-source projects (GitHub is the standard)
- You're already deeply integrated into the Atlassian ecosystem (use Bitbucket)
- You need the most comprehensive DevSecOps toolchain (GitLab)
- Budget is very tight (GitHub's free tier is generous)
Bottom Line: Assembla isn't trying to compete with GitHub on community size. It's a specialized platform for teams that need multi-VCS support, compliance capabilities, or don't want to cobble together separate tools for code hosting and project management.
Setting Up Your Assembla Repository
Step 1: Create Your Assembla Space
- Sign up at assembla.com (starting at $19/month)
- Create a new "Space" (Assembla's term for a project)
- Choose your version control system:
- Git - For modern web development
- SVN - For legacy projects or teams requiring centralized VCS
- Perforce - For game development or large binary assets
Step 2: Configure Your Repository
For Git repositories:
# Clone your Assembla repository
git clone git@git.assembla.com:your-space.git
# Add Assembla as a remote to existing project
git remote add assembla git@git.assembla.com:your-space.git
For SVN repositories:
# Checkout your Assembla repository
svn checkout https://subversion.assembla.com/svn/your-space/
Step 3: Add Team Members and Set Permissions
Assembla provides granular permissions:
- Owner - Full access to all tools and settings
- Write - Can commit code and edit tickets
- Read - View-only access
- Custom - Tool-by-tool permissions (Git access but not wiki, etc.)
This is more flexible than GitHub's simpler permission model.
Connecting DeployHQ to Assembla
DeployHQ doesn't have a native "one-click" Assembla integration like it does for GitHub/GitLab/Bitbucket. However, you can easily connect using the manual repository option.
Step 1: Get Your Assembla Repository URL
For Git repositories:
- In Assembla, navigate to your Space → Git tab
- Copy the SSH URL:
git@git.assembla.com:your-space.git
For SVN repositories:
- Navigate to your Space → Subversion tab
- Copy the HTTPS URL:
https://subversion.assembla.com/svn/your-space/ - Note your username and password (SVN uses HTTP authentication)
Step 2: Create a Project in DeployHQ
- Log into DeployHQ
- Click "New Project"
- Enter your project name (e.g., "Production Website")
- Select "Manually enter repository details"
Step 3: Configure Repository Connection
For Git repositories:
- SCM Type: Git
Repository URL: Paste your Assembla Git URL
git@git.assembla.com:your-space.gitDefault Branch:
masterormainPort: Leave blank (uses default SSH port 22)
Click Save - DeployHQ will generate an SSH key
Step 4: Add DeployHQ's SSH Key to Assembla
For Git:
- In DeployHQ, copy the public SSH key shown after saving
- In Assembla, go to your Space → Settings → SSH Keys
- Click "Add SSH Key"
- Paste the DeployHQ public key
- Give it a descriptive name: "DeployHQ Production"
- Save
For SVN:
- In DeployHQ, enter your Assembla username and password
- No SSH key needed - SVN uses HTTP authentication
Step 5: Test the Connection
- Back in DeployHQ, click "Test Connection" or try to load branches
- If successful, you'll see your branches listed
- If it fails, double-check:
- SSH key was added correctly to Assembla
- Repository URL is correct
- You have read access to the repository
Setting Up Your First Deployment
Step 1: Add a Server
- In your DeployHQ project, click "Servers & Groups"
- Click "Add Server"
- Enter server details:
- **Name:** "Production Server"
- **Protocol:** SSH/SFTP (recommended) or FTP
- **Hostname:** Your server IP or domain
- **Port:** 22 (for SSH)
- **Username:** Your server username
- **Path:** `/var/www/html` (or your web root)
- Authentication:
- Password - Enter your server password, or
- SSH Key - Upload your private key for key-based auth
Step 2: Configure Deployment Settings
- Deployment Mode:
- **Standard** - Uploads only changed files (recommended)
- **Full** - Uploads all files every time
- Config Files:
- Add files that should be different on the server (e.g., `.env` files)
- These won't be overwritten during deployments
Build Commands: If you need to compile assets:
# For Ruby/Rails bundle install rails assets:precompile # For Node.js npm install npm run build # For PHP/Composer composer install --no-dev
Step 3: Deploy!
- Click "Deploy" button
- Select the branch or specific commit to deploy
- Optionally add a deployment note
- Click "Deploy Now"
DeployHQ will:
- Pull latest code from Assembla
- Run your build commands
- Upload changed files to your server
- Execute any post-deployment scripts
- Send notifications (if configured)
Complete Workflow Example
Here's a real-world workflow for a Rails application:
1. Development in Assembla
# Developer creates a feature branch
git checkout -b feature/user-authentication
# Makes changes and commits
git add .
git commit -m "Add user authentication [#42]"
# Note: #42 references an Assembla ticket
# Pushes to Assembla
git push assembla feature/user-authentication
2. Code Review in Assembla
- Developer opens a Merge Request in Assembla
- Team reviews code with inline comments
- Ticket #42 automatically updates with commit references
- After approval, merge to
mainbranch
3. Automatic Deployment via DeployHQ
Option A: Manual Deployment
Option B: Automatic Deployment
- Set up a webhook in Assembla (Settings → Webhooks)
- Point to DeployHQ's webhook URL
- Configure to trigger on
pushevents tomainbranch - Now every merge automatically deploys!
4. Build Pipeline Execution
DeployHQ runs your configured commands:
# Install dependencies
bundle install --deployment
# Compile assets
RAILS_ENV=production rails assets:precompile
# Run database migrations
RAILS_ENV=production rails db:migrate
# Restart application server
sudo systemctl restart puma
5. Post-Deployment
- Team gets Slack notification (if configured)
- Assembla ticket #42 updated with deployment timestamp
- Error tracking (Sentry/Bugsnag) tagged with release version
Advanced Configuration
Zero-Downtime Deployments
For production environments, use DeployHQ's atomic deployment features:
- Symlink Releases:
- Enable "Release" deployment mode
- DeployHQ creates timestamped release directories
- Symlink points to the latest release
- Instant rollback by changing symlink
Configuration:
/var/www/ current → releases/20250127-143022/ releases/ 20250127-143022/ 20250127-121000/ 20250126-095500/ shared/ .env storage/ uploads/
Deployment Groups
Deploy to multiple servers simultaneously:
- Create a Server Group in DeployHQ
- Add staging + production servers
- Use "parallel deployments" to deploy to all at once
- Or "serial deployments" for zero-downtime rolling deploys
Build Caching
Speed up deployments by caching dependencies:
# Cache Composer dependencies
if [ ! -d "vendor" ]; then
composer install --no-dev --optimize-autoloader
fi
# Cache npm packages
npm ci --cache .npm --prefer-offline
Environment-Specific Configurations
Config Files feature:
- In DeployHQ, go to your server settings
- Add Config Files:
-
.env.production(on server) ← won't be overwritten -
.env(in repo) ← will be ignored
-
- Manage sensitive credentials server-side
Frequently Asked Questions
Does DeployHQ have native Assembla integration?
No, DeployHQ doesn't have a native "one-click" integration for Assembla like it does for GitHub, GitLab, and Bitbucket. However, you can easily connect Assembla repositories using the "manual repository" option in DeployHQ. The setup takes about 10-15 minutes and works seamlessly once configured.
Can I use DeployHQ with Assembla's SVN repositories?
Yes! DeployHQ supports Git, SVN (Subversion), and Mercurial repositories. For SVN repositories hosted on Assembla, you'll use HTTP(S) authentication with your Assembla username and password. This makes Assembla + DeployHQ a great option for teams maintaining legacy SVN codebases.
How do automatic deployments work with Assembla?
You can set up automatic deployments using Assembla webhooks:
- In Assembla, go to Settings → Webhooks
- Add DeployHQ's webhook URL (found in your DeployHQ project settings)
- Configure it to trigger on push events to specific branches
- When code is merged to that branch, DeployHQ automatically deploys
This works the same way as with GitHub or GitLab.
Can I deploy to multiple environments (staging, production)?
Absolutely. In DeployHQ, you can:
- Create multiple servers (staging, production, etc.) within one project
- Deploy different branches to different servers (e.g.,
develop→ staging,main→ production) - Use Server Groups to deploy to multiple servers simultaneously
- Set up different build commands per environment
What happens if a deployment fails?
DeployHQ provides robust error handling:
- Deployment stops immediately if any build command fails
- Full error logs are available in the deployment history
- Files are not transferred if the build fails
- You can roll back to any previous successful deployment with one click
- Optional Slack/email notifications alert your team of failures
Can I integrate Assembla tickets with deployments?
Yes! Reference Assembla tickets in your commit messages using [#ticket_number] or #ticket_number:
git commit -m "Fix authentication bug [#123]"
Assembla will automatically:
- Link the commit to ticket #123
- Show commit details in the ticket
- Update the ticket activity feed
- Display deployment history
Is it secure to give DeployHQ access to my Assembla repository?
Yes, when done properly:
- DeployHQ uses read-only SSH keys for Git repositories
- Keys are specific to each project and can be revoked anytime
- For SVN, use a dedicated deployment user with limited permissions
- All connections use encrypted protocols (SSH/HTTPS)
- DeployHQ follows security best practices
- Enable 2FA on both platforms for additional security
Can I test deployments before going to production?
Definitely. Best practices include:
- Create a staging server that mirrors production
- Deploy to staging first for testing
- Use manual approval before production deployments
- Run tests in your build pipeline before deploying
- Use atomic deployments with instant rollback capability
DeployHQ's "release" mode creates timestamped deployment directories, letting you test and rollback instantly.
How much does it cost to use Assembla + DeployHQ?
DeployHQ:
- Free plan: 1 project with unlimited deployments
- Paid plans: Start at $10/month for 3 projects
Assembla:
- Starter: $19/month (5 users, unlimited repos)
- Higher tiers available for larger teams
Combined, it's cost-competitive with GitHub Team + separate project management tools, especially if you need multi-VCS support or compliance features.
Can I migrate from GitHub/GitLab to Assembla without downtime?
Yes. Here's the migration approach:
- Keep GitHub/GitLab active during migration
- Create Assembla space and import repository
- Add Assembla as a second remote in DeployHQ
- Test deployments from Assembla to staging
- Switch production deployments to Assembla when ready
- Archive GitHub/GitLab repo after verification
DeployHQ makes this easy since you can have multiple projects or switch repository URLs without reconfiguring servers.
What if I need both Git and SVN repositories?
This is where Assembla excels. You can:
- Host both Git and SVN repos in the same Assembla space
- Connect both to DeployHQ (create separate projects per repo type)
- Manage everything from one platform
- Use Assembla's project management tools across both repos
No other major platform offers this multi-VCS flexibility.
Does DeployHQ support build tools for Ruby/PHP/Node.js?
Yes! DeployHQ has built-in support for:
- Ruby: Bundler, Rails asset compilation, RVM/rbenv
- PHP: Composer, Laravel, WordPress
- Node.js: npm, Yarn, webpack, gulp, grunt
- Python: pip, Django
- Java: Maven, Gradle
- .NET: MSBuild, NuGet
You can specify language versions and run custom build commands before deployment.
Can I deploy the same code to multiple servers?
Yes, using Server Groups:
- Create a server group (e.g., "Production Cluster")
- Add multiple servers to the group
- Choose deployment strategy:
This is perfect for load-balanced applications or microservices.
What happens to config files like .env during deployment?
DeployHQ has a Config Files feature:
- Mark files that should remain on the server (
.env,database.yml, etc.) - These files won't be overwritten during deployments
- Manage sensitive credentials server-side, not in your repository
- Different config files per server (staging vs. production)
This prevents accidentally overwriting production secrets.
Conclusion
Assembla and DeployHQ together provide a robust, enterprise-ready deployment pipeline for teams that need:
- Multi-VCS support beyond Git
- Compliance and security for regulated industries
- Integrated project management without juggling multiple tools
- Streamlined deployment automation to any server
While GitHub and GitLab dominate the market with massive communities and extensive integrations, Assembla fills a specific niche for teams with legacy systems, compliance requirements, or those who prefer a unified code + project management platform.
The manual integration between Assembla and DeployHQ takes only 10-15 minutes to set up, and once configured, provides the same seamless deployment experience as native integrations.
Next Steps
- Sign up for free trials: Both Assembla and DeployHQ offer trials
- Migrate one project first: Test the workflow before committing
- Set up automatic deployments: Reduce manual work with webhooks
- Configure notifications: Keep your team informed via Slack
Questions or issues? Both platforms have solid documentation and support teams to help with migration and setup.