In the world of software development today GitHub is a very important tool. It is the Git hosting platform that powers most of our open source packages, many of our code examples and tutorials, and a lot of our private projects. However, quite often when we are working with GitHub we also have to bring a lot of other tools into our stack to do everything that we need to do.
For instance, on one of my projects, which has its private Git repository hosted on GitHub, I’m using Basecamp for planning and collaborating with my remote coworkers, I have a Jenkins instance to handle my Continuous Integration (CI) processes, and I’m using the Firebase CLI for deployment to Firebase Hosting. This is a lot of tools to have to know, maintain, and integrate together.
To simplify this, I decided to migrate my project over to ossum. Ossum is a tool that handles many of these tasks in one place for me. It has a Kanban based planning tool that is convenient for working with small distributed teams, its own hosted Git platform, and can easily integrate with my Jenkins instance for CI. You can find out more about ossum at https://www.ossum.cloud.
The ossum Planning Board is simple and easy to use. Since I have just one small team on this project the main features that I was using Basecamp for were Projects and To-dos. I am easily able to accomplish this in ossum by creating a Space for my project and creating Cards to represent the things that need to be completed on the project.
The Code Browser feature in ossum also handles the features that I need for my private Git repository. It hosts my repository, gives the ability to do context-aware code searches on this repository or any of the other on my account, and allows for doing code reviews of changes before they are merged to the master branch.
One challenge that I ran into while migrating my existing repository to ossum was that initially I wasn’t able to push my repository to ossum with commits on it that did not reference cards on my ossum planning board. This was due to a pretty powerful feature in ossum that references commits to the planned work that they are accomplishing.
Luckily, there was an easy workaround for this. I was able to disable the work item requirement in my repo’s settings and then push my changes. Once I had successfully pushed my repo up I turned the setting back on so that I could take advantage of that feature going forward.
Ossum covered almost everything that I needed for my project. The only part missing was the deployment to Firebase Hosting. At the time of this writing ossum does not have a Continuous Deployment mechanism. However, the Firebase CLI makes this pretty easy to accomplish so I was ok with continuing to do this separately. You can read more about deploying to Firebase Hosting at https://firebase.google.com/docs/hosting/deploying.
There are so many good tools out there today to help us build our projects. However, getting all those tools to work together can be a bit of a pain. Using ossum has made my life so much easier by allowing me to manage my project from one place with simple and intuitive UI, powerful source code management features, and easy integration with my CI processes.
About the AuthorMore Content by Keith Stewart