Skip to content

Instantly share code, notes, and snippets.

@designermonkey
Created November 15, 2012 19:46
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save designermonkey/4080786 to your computer and use it in GitHub Desktop.
Save designermonkey/4080786 to your computer and use it in GitHub Desktop.
A recommendations list for agencies.

#Recommendations

A list of recommendations for the office and workflow.

  1. Repositories and Tracking.

    • Bitbucket - 100% free git repository hosting. Quality issue tracking like Github, only completely free.
    • BitbucketCards - Kanban Agile issue management for Bitbucket repos. Teh awesomes. Teh blog post.
  2. Workflow

    • Github Flow is used by Github and is a very uick and easy "community" based workflow.
    • A simple, and very similar workflow:
      • Anything in master is deployable, at any time.
      • integration is a branch to merge many features for a release.
      • Quick bug-fixes can be merged into master by a Project Lead. Once merged, integration must be rebased from master.
      • Work from named branches for the feature currently being developed.
      • Commit little and often. Never spend more than an hour working without a commit.
      • Push to branches constantly.
      • Pull Request every partially stable feature into integration as soon as the first changes are committed to the feature branch, whether complete or not. It is a great way to log a single feature's development.
      • Peer code reviews during development to allow the developer to request help from other people by name, to look for issues or offer cleaner solutions. Peer reviews can be requested as a team round the table.
      • Once complete and working, Project Lead can merge into integration.
  3. Development Workflow

    • Less CSS for quick css development.
      • Less Monkey is a simple toolkit to build whatever grid you want, with a set baseline and helpful mixins, it modularizes uick development.
      • CodeKit for Mac to handle Less. Will auto build on source changes.
      • WinLess for PC as above.
  4. Server Setup

    • Server needs to be accessible via SSH only. One single SSH account for all users means more security.
    • Hubot SSH account with limited access, also has a deployment SSH key for read only access.
    • Apache Setup OSX is a tool for quickly setting up local development environments with a single bash script.
    • Modified version of above script for hosting servers. Allows setup via a Hubot script ;o)
  5. Deployment.

    • Git commit hooks? Easy to do, requires a little setup at the beginning.
    • Hubot deployment script? Requires hubot on a server and a chatroom to read commands from. Hubot is a chatbot developed by Github to receive commands via scripts regarding repositories, like hubot deploy reponame to production. This would run a coffeescript on the server to deploy a site, the script can be anything we want.
      • Requires a hubot to be running on a server that never goes offline.
      • Requires a script to get hubot to parse the message it received and run commands.
      • Requires hubot to have a deployment key with each project repository for read-only access to the repository.
      • Requires hubot to have a secure SSH login to each project server. The SSH login needs to be restricted to only have access to the git folder for the project
      • Hubot logs in to the project server via secure ssh, and runs git pull
  6. Chat

    • Hipchat. Nuff said. It just works. $2 per month, per user.
    • Supplies a private domain for chatrooms.
    • Hubot can be quizzed about repos via a chatroom.
    • Important team messages/activities can be logged in the chatroom livefeed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment