Development: Difference between revisions

From Adam Colton
Jump to navigation Jump to search
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
I'm looking to get in place a tool chain for development in conjunction with my move to AWS.
== Components ==
* Editor
* Source Control
* Continuous Integration
* Issue Tracker
* Documentation
* Build/Publishing
* Backups


== Connection ==
=== Editor ===
I'm looking at connecting to a file system over ssh. There is [http://dokan-dev.net/en/ this] for Windows and sshfs for Linux. This seems more secure than ftp. By mounting it as a file system, I won't have to look for ftp plugins - which I've had trouble finding.
I think I'm going with [http://www.sublimetext.com/ Sublime Text].


I will have to investigate how to attach the drives. I would like it to be as automated as possible. Setting up a cron on my Linux systems may be best as I'm hesitant to add it to fstab and compromise the boot.
=== Source Control ===
Git. I think I'll simply have a repo on the dev machine.


== IDE ==
=== Backups ===
I like the idea of an IDE. Particularly because I would like to move in the direction of more testing and refactoring. The two big contenders seem to be NetBeans and Eclipse. I think the best thing to do from here is try both of them and see which one works better.
AMIs. I need to come up a with a rotation. I would also like to see if they can be exported.


== BASH Toolchain ==
=== Continuous Integration ===
Standing in opposition to an IDE would be a more traditional toolchain. In this case, I would connect over SSH, and use Vim as my editor. This would probably give me much tighter control, but I'm afraid I would miss out on things like automated test tools.
I'm leaning towards Buildbot, but I should also look at Apache Ant. I may also forgo this entirely and do the whole thing with some scripting.


== Source Control ==
=== Build/Publishing ===
I'm setup on GitHub but I'm finding that I have a lot of projects I do not want to share and the cost of private account is prohibitive.
I may be using Go which requires a build. I want to incorporate a more complex JavaScript tool-chain using JavaScript optimizers which will also require a build. Finally, I want to be able to target various machines.


I think I'm going to setup a dev server.
=== Issue Tracker ===
Perhaps [http://www.mantisbt.org/ Mantis]?


== Dev Server ==
== Integration ==
* Git
I would really like source control, continuous integration and the issue tracker to all work together. I don't want to impose my prejudices on the system, so I will stick the basic requirements rather than how I expect it to work. I should be able to associate commits with issues and have the status of the continuous integration performed on those commits tied to the issue tracker.
* Continuous integration


[[Category: Code]]
[[Category: Code]]

Latest revision as of 15:31, 20 June 2013

Components

  • Editor
  • Source Control
  • Continuous Integration
  • Issue Tracker
  • Documentation
  • Build/Publishing
  • Backups

Editor

I think I'm going with Sublime Text.

Source Control

Git. I think I'll simply have a repo on the dev machine.

Backups

AMIs. I need to come up a with a rotation. I would also like to see if they can be exported.

Continuous Integration

I'm leaning towards Buildbot, but I should also look at Apache Ant. I may also forgo this entirely and do the whole thing with some scripting.

Build/Publishing

I may be using Go which requires a build. I want to incorporate a more complex JavaScript tool-chain using JavaScript optimizers which will also require a build. Finally, I want to be able to target various machines.

Issue Tracker

Perhaps Mantis?

Integration

I would really like source control, continuous integration and the issue tracker to all work together. I don't want to impose my prejudices on the system, so I will stick the basic requirements rather than how I expect it to work. I should be able to associate commits with issues and have the status of the continuous integration performed on those commits tied to the issue tracker.