With this blog post we start a new series about how we work on the Codeship. Many people asked us how we develop features, about our workflow and which apps we use every day. This blogpost focuses on the workflow to implement a new feature. From branching away from master until it is ready for the pull request. The following blogposts will talk about our internal communication, how we do pull requests and code reviews and an in-depth look into our deployment strategy.
The issue I faced was that I have an existing static site hosted on Github via gh-pages. That is just regular HTML/CSS/JS. It works perfectly. But, I wanted to add an elegant Octopress blog to that same static site - so I can have both my company site & blog hosted on Github’s powerful hosting platform. This is how I pulled it off.
Good news, everybody! Gun.io now has tighter integration with GitHub! For those who haven't been to the site before - welcome! It's our mission here at Gun.io to hook up project managers with top hackers from the open source community. GitHub is where lots of great open source programmers share all of their code, so we've configured our system to integrate with their code repositories. This was a very popular feature request and one we've been wanting to do for a long time, so we're very pleased to announce it.
(I've griped about this before, so I'll try to keep this post short.) GitHub updated their graphs page today. Lovely! Unfortunately, they didn't update the 'Network' graph, which is the most important and most fundamentally broken. The solution isn't easy, as it requires patching the culture to make people give proper branch names ('patch-1' is pretty useless'), and to force maintainers to have a clear vision of what's going on in the rest of the network.
We use GitHub Flow on GitHub. But the whole workflow we describe is also possible when working with BitBucket. We do not have a policy when a pull request should be opened. Some of our developers open them when they start a feature, some wait until the feature is implemented. Then we push regularly to that branch as explained in the last post. Open pull requests are helpful as everyone can see what we are working on. One really important part of feature branches and pull requests are proper commit messages.
GitHub has been massively transformative for people who write computer software. More people than ever are using version control and I would attribute a lot of this to GitHub, both because of its convenience and because of a general cultural shift which has placed GitHub as the default code store. However, the lower barrier for entry of open software development has created an unfortunate void of leadership which may be causing overall code quality to suffer.
This guide will teach you how to properly contribute to open source projects on GitHub. It assumes that you already know about how to use Git for version control and that you already have a GitHub account.
So, you want to search your git commit logs. Good news! It's really easy, and I'm going to show you how to do it. If you use git, you're probably already familiar with the classic UNIX string searching tool, 'grep.' (If you already know about grep but want something better, you should try out Ack, but that's an unrelated issue.) Lucky for you, git has a 'grep' mode!
A deployment pipeline lays out the whole process that your code needs to go through from your repository to production. It breaks the build into several parts (e.g. build, test and deploy) and all the associated steps that need to be taken. By defining a pipeline it is always clear which step needs to happen next.