Adopting Gitlab - An introduction

Publicado
2017-06-14 19:56
Written by

Along with the Core Team, several contributors in the community have been testing Gitlab as an overall project management and communications tools for the CiviCRM community. Though it’s still a work in progress, we’re happy to start pushing it out to the broader community in hopes that it can provide a more cohesive platform for project management and community engagement.

How do we envision it working?

Last year, we introduced teams and working groups as a way to organize our work and attract new contributors to the project. With the addition of Gitlab, we’re reinforcing that structure while adopting an open (yeah, Gitlab is open source), transparent way to organize and manage all of the various initiatives undertaken by the CiviCRM community.

Currently, we’re organizing Gitlab into functional groups, specifically “Core Team”, “Development Team”, “Marketing Team”, “Community Team” and “Infrastructure”. These serve as placeholders for specific projects that align with these groups. In essence, these groups represent the community workspaces for the primary teams that drive the CiviCRM project.

Within each group are ‘projects’, or discreet, defined initiatives that one or more individuals are actively working on (or that are at least planning to!). These correspond to the working groups we’ve listed here https://civicrm.org/working-groups providing both a summary overview as well as offering more details task tracking and documentation via a project wiki.

As an example, take a look at CiviCamp Hartford. Located in the “Marketing Team”, this community-driven project is focused on bringing a CiviCamp to Hartford, Connecticut. Full details are in the project’s wiki and current tasks are managed via issues (you might notice that I’m late on a few). This is obviously a simple example, however it illustrates how Gitlab can be used for more than just development work. Because this project sites alongside other marketing oriented projects, a user can participate and readily move on to other projects. If their interests shift toward something other than marketing, they can jump into another team with a different focus. Best of all, projects can actually be shared between teams. Let’s face it, most projects actually have some degree of overlap with other business functions. We’ll explore this and other points in future blog posts (hopefully one each week for the next few weeks).

What about the CiviCRM Wiki?

There’s a ton of information in the current CiviCRM wiki. While there are many examples of useful (and often used) pages, much of the content is outdated, unorganized or both. That’s not a critique… it happens a lot with Wikis. So what will happen to ours? That’s a good question. Right now, dev docs are being migrated (there's a sprint happening tomorrow), and wiki urls redirected, to a new documentation system, so the trend seems to be moving away from the wiki. At the same time, it’s an additional piece of infrastructure that we have to maintain.

Gitlab’s own wiki functionality is unique in that each project has it’s own wiki. There’s no global wiki. So, the short answer is, we’re not sure exactly what will happen to the current CiviCRM wiki. Content will continue to be moved around and we believe that much of it can reside in Gitlab and on civicrm.org. Time will tell, though in any case, much of the content on the current wiki is in need of an overhaul (or sunset), so something has to be done with it.

What about Make It Happen campaigns?

We sincerely hope that Gitlab can present a better face to the average use than our current systems, and that it can clearly convey what projects are planned and in progress. As we roll out Gitlab, we’ll also make revisions to the process of Make It Happen campaigns, which currently sit neatly tucked away on civicrm.org and maybe come to light via a blog post.

If Gitlab is successful, users not only will have access to summary information of each project, but also can track the issues and progress as well. Essentially, Gitlab presents a much more detailed view of a project, not to mention allows for more participation. Of course, we’ll still need to promote every campaign, and by no means do we expect Gitlab to translate into a windfall of cash. But, it stands to reason that if we can publicize our efforts more clearly and present our progress on an ongoing basis, the more comfortable and supportive a prospective donor may be. Expect to see the current Make It Happen campaigns (https://civicrm.org/make-it-happen) merge into Gitlab (or disappear) very soon.

Will it replace JIRA?

That’s the million dollar question, isn’t it? Let’s just say that we’re continuing to evaluate the potential of Gitlab and leave it at that for now.

How to get started?

Visit https://lab.civicrm.org and log in with the same credentials you use on https://civicrm.org If you haven’t registered with CiviCRM yet and need those credentials, then sign up first at https://civicrm.org/user/register Once you’re in to Gitlab, bounce around from project to project and check them out. Pay attention to the wiki and issues for each to get a feel for how it’s being used. And, if you’re on Mattermost (https://chat.civicrm.org), you might notice the occasional bot presenting an update from Gitlab. That’s right… updates to issues in Gitlab can post to their respective channels in Mattermost.

A quick recap

Gitlab presents CiviCRM an opportunity to use a single, open source tool for general project management, thereby improving overall project visibility and potential to engage our community. It’s not perfect, but it integrates with popular systems we use, such as a Mattermost, and could help consolidate some of our systems. Jump in and check it out, and stay tuned for more updates as we roll Gitlab out!

 
Filed under

Comments

Looking forward to exploring it.

Is the other million dollar question, will it replace github? And if so, is the answer the same as the answer for Jira?

There is a new post on Gitlab's blog about moving issues from JIRA to Gitlab.

It could be useful for this topic:

https://about.gitlab.com/2017/08/21/migrating-your-jira-issues-into-gitlab/