Open Source Alternatives

Best Free and Open Source Alternatives to Google Cloud Build

Google has a firm grip on the desktop. Its products and services are everywhere. We’ve been long-standing admirers of many of them. They’re often polished, easy to use and seemingly free. But relying heavily on a single company has drawbacks. Google’s approach to privacy, data collection and the wider reach of its ecosystem continues to concern many users.

If you want to loosen Google’s grip, there are plenty of alternatives. This series looks at ways to replace Google products and services with free and open source software without giving up useful functionality.

Google Cloud Build is a managed build service running on Google Cloud infrastructure. It can pull source code from repositories or cloud storage, execute a series of build steps, and produce artifacts such as container images and Java archives.

Build steps run in containers. You can use builders supplied by Google and the community, or create your own. Builds can also be triggered automatically when code changes, making Cloud Build useful for continuous integration and delivery.

Google Cloud Build is proprietary software. Here are our recommended free and open source alternatives.

1. Woodpecker

Woodpecker is a lightweight CI/CD engine aimed squarely at self-hosting.

Its approach should feel familiar to Cloud Build users. Pipeline steps run in containers and configuration is normally stored alongside the source code in YAML files. Webhooks can launch pipelines when code is pushed, a pull request is opened or a tag is created.

Steps can use ordinary container images, while plugins add support for common jobs such as deployment, artifact publishing and notifications. A repository can contain multiple workflows, and dependencies can be set between them.

Woodpecker supports Docker and Kubernetes backends. There’s also support for secrets, matrix builds, service containers and private registries.

The obvious difference is that Woodpecker leaves the infrastructure in your hands. That means more administration than Cloud Build, but it also means the CI/CD system is under your control.


2. Tekton

Tekton is a vendor-neutral framework for building CI/CD systems on Kubernetes.

Tekton Pipelines adds custom resources to Kubernetes for describing CI/CD workflows. Tasks contain individual steps, while Pipelines join Tasks together into larger build, test and deployment processes.

Everything is built around containers. Tasks can call compilers, test suites, image builders, deployment tools and just about anything else that can run in a container.

Tekton makes most sense if Kubernetes is already part of your infrastructure. Pipelines are not tied to Google Cloud, so the same definitions can be used on your own Kubernetes cluster or with another cloud provider.

It is nowhere near as hands-off as Cloud Build. You need to operate the Kubernetes environment yourself. But for organisations that already have that expertise, Tekton offers a great deal of flexibility without locking the build system to one cloud.


3. Concourse

Concourse is a container-based automation system widely used for CI/CD.

Concourse has its own distinct way of doing things. Pipelines are constructed from resources, tasks and jobs, with a strong focus on reproducible builds and declarative configuration.

Tasks run in isolated containers, helping to keep build environments clean and predictable. Pipeline definitions can live in version control, while the fly command-line tool is used to configure pipelines and work with the server.

Resources are one of Concourse’s defining features. They represent things a pipeline consumes or produces, such as source repositories and container images. Changes to a resource can also trigger jobs.

It doesn’t mirror Cloud Build’s architecture, but it tackles many of the same jobs. Concourse is particularly appealing if reproducibility and portable pipeline definitions rank highly on your list.


4. Jenkins

Jenkins needs little introduction. It is one of the longest-established open source automation servers and can cover practically every part of the build, test and deployment process.

It is a much broader tool than Cloud Build. Jenkins can be used as a relatively simple CI server, but it is equally capable of sitting at the centre of a large and complicated automation setup.

Pipelines can be stored with the source code in a Jenkinsfile. Jobs can be started by changes in source repositories, distributed across multiple machines and used to run almost any build tool, script or deployment process.

The enormous plugin ecosystem remains one of Jenkins’ main strengths. There are integrations for source control, container platforms, cloud services, build systems, authentication, notifications and much more.

That flexibility brings extra maintenance. Jenkins installations need looking after, particularly when plugins and workers are involved. Cloud Build hides much of that work. Jenkins does not.

For users who value control and extensibility over a fully managed service, that trade-off may be well worth making.


5. Buildbot

Buildbot is a Python-based framework for automating build, test and release workflows.

Buildbot is less prescriptive than many CI systems. Instead of forcing projects into a rigid pipeline model, it provides components that can be combined into a CI setup tailored to the job at hand.

Configuration is written in Python. That gives administrators considerably more freedom than systems built almost entirely around static YAML files, particularly when workflows need custom logic.

Buildbot uses a master and worker architecture. The master coordinates the work, while workers carry out the builds. More workers can be added to spread jobs across different operating systems, architectures and test environments.

It can watch source repositories for changes and automatically start builds. Individual steps can compile code, run tests, package software and execute whatever other commands are needed.

Buildbot is not the closest match to Cloud Build in this group. Its appeal lies elsewhere. If your build or test setup is unusual, highly customised or spread across many different environments, Buildbot gives you plenty of room to shape the system around your requirements.


All articles in this series:

Alternatives to Google's Products and Services
Google AnalyticsAnalytics is a platform for both website and mobile app analytics. This hosted web analytics software remains the mostly widely used analytics service.
Authenticator is a two-factor authentication application for Android and iOS. It generates one-time verification codes for websites and services that support authenticator-based two-step verification.
Bazel is a fast, scalable, multi-language and extensible build system for building both client and server software.
Blogger is an online content management system which enables its users to write blog with time-stamped entries.
Google CalendarCalendar helps manage your busy life with a digital calendar. It offers tons of features and makes it easy to keep track of life’s important events all in one place.
Charts lets users visualize data on their website. It offers a wide range of ready-to-use chart types. The most common way to use Google Charts is with JavaScript that’s embedded in a web page.
Google ChatChat is communication software which provides direct messages and team chat rooms, together with a group messaging function.
Google ChromeChrome is application software for accessing the World Wide Web. It's the most popular web browser but has a chequered track record from a privacy perspective.
Chrome Remote Desktop is a remote desktop software tool that allows a user to remotely control another computer’s desktop through a proprietary protocol.
Google ClassroomClassroom is a learning platform for educational institutions that aims to simplify creating, distributing, and grading assignments. The main aim of the platform is to streamline the process of sharing files between teachers and students.
Cloud Build is a managed build service running on Google Cloud infrastructure. It can pull source code from repositories or cloud storage, execute a series of build steps, and produce artifacts such as container images and Java archives.
Cloud Run is a managed application platform designed to run containerised applications without requiring users to manage the underlying infrastructure.
Google Contacts iconContacts is a contact management service. It's available on the sidebar of Gmail, a web app, and for Android.
Google DNSDNS resolves a particular domain name to its IP equivalent. There are many free DNS providers. A few stand out from the crowd.
Google DocsDocs is a web-based productivity office suite. The suite includes Google Docs, Google Sheets, Google Slides, Google Drawings, Google Forms, Google Sites, and Google Keep.
Google DrawingsDrawings is diagramming software included as part of the web-based Google Docs Editors suite. Create and edit flowcharts, organizational charts, website wireframes, mind maps, concept maps, and more.
Google DriveDrive is a file storage and synchronization service. Want a solution that also includes the online office components available in Google Docs?
Google Earth ProEarth Pro maps Earth by superimposing satellite images, aerial photography, and GIS. Fly anywhere to see satellite imagery, 3D buildings, 3D trees, terrain, Street View, planets and much more.
FeedBurner is a web feed management service. Feeds are a way for websites large and small to distribute their content well beyond just visitors using browsers.
Files is a file management app for file browsing, media consumption, storage clean-up and offline file transfer.
Google FinanceFinance is a website focusing on business news and financial information. It provides real-time market quotes, international exchanges, financial news, and analytics.
Google FirebaseFirebase is a platform for creating mobile and web applications. It's currently their flagship offering for app development providing an all-in-one cloud service.
Fonts is a computer font and web font service. It offers font families and an interactive web directory for browsing the library.
Google FormsForms is a survey administration software included as part of the free, web-based Google Docs Editors suite.
GboardGboard is a virtual keyboard app developed for Android and iOS devices. It features Google Search and predictive answers.
Google MailGmail is a hugely popular email service. You might not like the automated scanning of email content.
Groups is a service that provides discussion groups for people sharing common interests. Part of the service is similar to mailing lists.
JamboardJamboard is a digital interactive whiteboard developed to work with Google Workspace. Sketch your ideas whiteboard-style while benefiting from the access and connectivity of an interactive canvas, on mobile or directly from your web browser.
Google KeepKeep is a note-taking service. The app offers a variety of tools for taking notes, including text, lists, images, and audio.
Google MapsMaps is a web mapping service offering satellite imagery, aerial photography, street maps, and interactive panoramic views.
Google MeetMeet is a video-communication service. It offers enterprise-grade video conferencing built on Google’s global infrastructure.
Messages is a text messaging software application developed for its Android and Wear OS mobile operating systems.
News is a news aggregator service. It offers a continuous flow of links to articles organized from thousands of publishers and magazines.
Google SearchPassword Manager is a password manager built into Chrome and Android devices. It's published under a proprietary license with little information about security used.
Google PhotosPhotos stores your images in the cloud for convenient access from anywhere. Lots of useful tools, but it’s difficult to shake the sinking feeling that Google is analysing your pictures.
reCAPTCHA is a CAPTCHA and bot-detection service designed to protect websites and applications from spam, automated abuse and fraudulent activity. It uses risk analysis to distinguish legitimate visitors from automated traffic
Google SearchSearch looks at privacy-focused alternatives to Google Search. If you believe that Google invades your privacy, what alternatives do we recommend?
Google SheetsSheets is a spreadsheet program included as part of the free, web-based Google Docs Editors suite.
Google SitesSites is a structured wiki and web page creation tool. Build internal project hubs, team sites, public-facing websites, and more—all without designer, programmer, or IT help.
Google SlidesSlides lets you create pitch decks, project presentations, training modules, and more. It's part of the Google Docs Editors suite.
Tasks is a task management application which lets users manage, capture, and edit their tasks. It's included with Google Workspace.
Google TranslateTranslate is a multilingual neural machine translation service that translates text and websites from one language into another.
Google YouTubeYouTube is an online video sharing and social media platform. It's a hugely popular service but has encountered a number of privacy issues.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted