Integration with AppHarbor
We deployed a new version of the CodePlex website yesterday.
In CodePlex, we continue to look for ways to enhance our project hosting offering by partnering with other companies and their services. AppHarbor is a platform to build, execute unit tests, and deploy ASP.NET web applications to the cloud. They provide a free single web instance with a small shared database, which is perfect for .NET OSS applications to provide instant online sample sites.
- Register for an account (or sign in to an existing account) on AppHarbor, and later confirming your account creation.
- Create your first application once you’re signed in to AppHarbor.
- Set up a Database, if needed. Executing any SQL scripts manually.
- Retrieve your Create build URL from the main page of your application.
- Edit your project details on CodePlex, paste the build URL in the textbox, and save.
- Make any changes necessary to your codebase to support AppHarbor deployment and commit/push these changes. For example
- If you have multiple solution files or multiple ASP.NET websites in a solution, create an AppHarbor.sln file with only the necessary projects and single ASP.NET website you want deployed.
- If you have any code to determine if you’re running in AppHarbor or not, utilize the Environment appSettings key (Debug is local, Release is running in AppHarbor).
- If you want unit tests to run, make sure you’re using a supported unit testing framework and version.
- Sit back, let it compile and deploy!
Source Control Support
You still might be wondering what Source Control types our integration with AppHarbor supports, and I’m excited to say we support both TFS and Mercurial! Additionally, we support the Subversion folder structure (trunk/branches/tags) within TFS projects to correctly extract and send the right branch information to AppHarbor. If your TFS project does not have the standard Subversion folder structure, the entire source repository is treated as the “trunk.” TFS build notifications will have a delay of up to 15 minutes.
When triggering build notifications for Mercurial, CodePlex will always send across all non-closed branches. Mercurial build notifications will be instantaneous when pushing changes to your project’s repository. AppHarbor currently supports only “trunk” or “default” branches when building, testing, and deploying.
A feature that has been in our top 10 requests queue for quite some time is project build support. While we still do not offer build support on CodePlex, we do have a few recommendations. Firstly, we have been in discussions with the AppHarbor team in regards to supporting a more formalized continuous integration (CI) solution. No details have been solidified around this yet. Alternatively, CodeBetter provides a CI server farm for OSS projects for a while now, which utilizes TeamCity. You can find more details and setup information on their CI page and join the growing list of CodePlex projects.
The CodePlex team values your feedback. We are frequently monitoring Twitter, our Discussions, and Issue Tracker. If you have not visited the Issue Tracker recently, please take a few minutes to suggest or vote on a feature you would like to see implemented.