Announcing Beta Dropbox Sync

Helping teams to collaborate on creating, shipping and operating great apps is a core Heroku value. People collaborating on Heroku apps are not all alike: Some spend all day in the terminal, others prefer using Heroku from a browser. That’s why we’ve built both a powerful CLI and a great Dashboard.

Today, we’re adding beta support for Dropbox Sync to complement Git-based deployments. By adding Dropbox as a way to sync changes, we’re making it easier for more users on diverse teams to contribute to apps built on Heroku.

Git is a powerful tool for software developers to collaborate on building great apps and software. We added Git-based deployments 6 years ago, to plug Heroku straight into that collaboration flow and to make deploying to production as simple as sharing changes with your collaborators.

With Dropbox Sync, we’re inviting more people to participate in the process of creating great apps and we’re giving existing users more choice and flexibility in how code is deployed to Heroku. Read on for details.

How to Deploy with Dropbox

Getting set up with Dropbox deploys is incredibly simple and can be done from the comfort of a browser window. You can enable Dropbox Sync for both new apps and for existing apps that have existing releases created with Heroku Button or with Git.

Setup is done on the Code tab of an app and requires granting Heroku access to your Dropbox account. Note that Heroku will NOT have access to all the files and folders in your Dropbox account: Heroku’s access is limited to a special /Heroku subfolder.

dropbox-unlinked-app

Once setup is complete, a sub-folder will be created for the app in the /Apps/Heroku folder (the name of your /Apps folder may be localized). This is where source code for the app lives. If you enable Dropbox for an existing app that already has releases, Heroku will place the contents of the app’s Git repo into the Dropbox folder and you can start hacking right away.

Whenever you want to deploy your local changes to Heroku, simply enter a commit message and hit the “Deploy” button in Dashboard. Use the message to summarize in a few words what you have changed since the last deploy. Heroku will now fetch the latest version of your source code from Dropbox and kick off a build. You can immediately follow build progress and you can track progress and debug build errors from the “Activity” tab of the app.

Collaboration

Working together to create and operate apps is a core value of Heroku and one of the original motivations for building Git-based deployments. When designing and building Dropbox Sync, we worked hard to integrate the new feature into how source code is managed on the platform.

If you’re part of a development team where some use Git and others want to use Dropbox, fear not. Changes shipped with Dropbox are available to Git collaborators with a simple git pull and git push updates are automatically synced to connected Dropbox folders. If an app has multiple users deploying with Dropbox, the latest changes are synced to all connected Dropbox folders whenever a new app release is created. See Dev Center for details on how collaboration and conflict resolution works.

Git and Dropbox can be combined even if it’s just you working on an app. For example, you might do your day-to-day development on a laptop, pushing changes with Git. Later, if you need to make changes at a time and place where all you have is your iPad, no problem: simply open your code in a Dropbox-enabled editor, fix the problem, hit the “Deploy” button in Dashboard and you’re done.

Looking ahead

We’re excited about this beta and we’re very keen on getting your feedback. If you try out Dropbox Sync and encounter any problems or have suggestions or ideas, don’t hesitate to get in touch on dropbox-sync@heroku.com.

We’re also really excited about the prospect of opening up Heroku to more kinds of developers. We’re working hard to ship new ways to get code onto Heroku: Both low-level APIs like the Build API and higher level services, like Dropbox Sync and Heroku Button built on those APIs.

Have ideas for other ways we should support moving source code to Heroku in addition to Git and Dropbox? Let us know or spike out your own prototype using the Build API.

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.