Fotolia

GitHub shakes up DevOps space, adds CI/CD to GitHub Actions

GitHub has added support for CI/CD to its source code management platform, based on developer feedback for deeper CI/CD integration.

GitHub's addition of CI/CD support to its Actions workflow automation tool expands the platform's development capabilities for developers, and puts other DevOps tool providers on notice.

The beta release of GitHub Actions last October generated speculation about future CI/CD support, though the company didn't specifically say so at the time. Now the official addition of CI/CD support means developers will not have to leave the GitHub platform for CI/CD automation. It also makes GitHub a platform not just for source code management, but for automation of the software development lifecycle all the way to production.

This is not a completely unique approach, and vendors approach CI/CD differently, said Thomas Murphy, an analyst at Gartner. GitHub's distributed team focus enables developers to work with a variety of collaboration tools and build from pull requests, he said. Others, like Atlassian, approach the problem with a "better together" focus where the CI/CD system complements accompanying products like Jira and Trello, and they all evolve together. Meanwhile, GitLab takes that a step further and offers one integrated product.

Thomas Murphy, an analyst at GartnerThomas Murphy

"[GitHub is] taking the position: If GitHub is your repo, Actions is the best fit," Murphy said. Likewise, developers that use Azure Repos should use Azure Pipelines as the CI/CD service, or if they use other repositories too because Azure Pipelines support lots of source management tools, he said. However, "GitHub Actions is for GitHub."

Nevertheless, the addition of CI/CD support moves GitHub down the chain into adjacent markets, and likely impacts competitors, partners and users. Atlassian, for example, has its own CI/CD offering with Bitbucket Pipelines, which it introduced in 2016. However, the Atlassian system is much more focused on vendors who have created pipes that can be connected to their pipeline, Murphy said.

"I still wonder a bit what the sprawl control will be for my pipe that works with this specific set of versions of components, but if one updates, will I be able to just replace that part or face a ripple effect," he said.

[GitHub is] taking the position: If GitHub is your repo, Actions is the best fit.
Thomas MurphyAnalyst, Gartner

Others in the CI/CD pipeline may feel some pressure as well.

"GitHub now needs to play the ecosystem balancing act, providing its own functions, but also leaving enough room it doesn't suck the air supply away from competitors," said James Governor, an analyst at RedMonk in Portland, Maine.

"There are a lot of tools out there that do a single job and GitHub Actions is likely to disrupt those tools," agreed Dan Garfield, chief technology evangelist at Codefresh, a GitHub partner in Mountain View, Calif., that offers a CI/CD platform for Docker and Kubernetes.

In this continuous delivery era, look for vendors to embed more event-based workflow functionality into application platforms offerings, such as UIs that trigger an event based on a support ticket, to help reduce the need to write code and automate business processes, said Charlotte Dunlap, an analyst at GlobalData in Santa Cruz, Calif.

GitHub Actions expands developers' reach

GitHub Actions enables developers to orchestrate workflows based on any event, said Nat Friedman, GitHub CEO, in a blog post. Overall, it helps developers focus on what matters and not worry about repetitive tasks that can be automated, like triaging issues or welcoming new contributors to the repository.

GitHub hosts projects written in just about every programming language that exists, so the GitHub Actions CI/CD system works on any operating system, language or framework, including Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android and iOS. GitHub also expanded Actions from Linux and containers to include macOS and Windows, so developers can build across those operating systems, as well as ARM hardware and Raspberry Pi, said Jeremy Epling, senior director of product management at GitHub.

GitHub Actions also now supports matrix builds, which enables developers to test multiple versions of their projects in parallel, even with different versions of runtimes. For instance, a developer could test projects built in Node.js versions 8, 10 and 12, and across Linux, macOS and Windows, for nine builds at the same time to speed up productivity, Epling said. Also, previously GitHub only supported container Actions, but now developers can write an action in JavaScript, and an Action is just code that can be edited, reused, shared and forked like code. Users can remix Actions together to build creative new workflows.

In addition, for CI/CD, GitHub Actions now supports live logs to provide developers with information on the progress of their builds as they run. On the Actions console, developers can see all the different jobs that run in a workflow and see the live logs stream in, so users will instantly know when a test fails or if their build is successful.

Developers still want CI/CD choices

Developer choice is key to GitHub with its open source roots. So while GitHub Actions answers developers' calls for built-in CI/CD support, it also enables developers to use partners' systems, Friedman said.

The GitHub Marketplace features CI/CD tools and other virtual automation tools developers can use across their development lifecycle. And Actions enables developers to wire those different tools and services together to build customized workflows.

GitHub is about community, Murphy said. An Action isn't just something a vendor builds, it is something a community could build or maintain. This is key because many of the pieces developers plug in to their builds are open source, such as Selenium or SonarQube for code quality testing.

"This also means I am not limited by what a vendor estimates might be economically viable," Murphy said.

The GitHub Actions beta is free and the technology will be free for public repositories. General availability is planned for Nov. 13, at which point GitHub Actions will have pay-as-you-go pricing.

Dig Deeper on Software development lifecycle