skaffold
Bazel
Our great sponsors
skaffold | Bazel | |
---|---|---|
74 | 99 | |
13,660 | 20,166 | |
1.3% | 1.9% | |
9.5 | 10.0 | |
1 day ago | 3 days ago | |
Go | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
skaffold
-
Does anyone else feel like this?
skaffold.dev - build in k8s - no more asking for the database password. All the plumbing to the backend is just done so it's easier for them to test and demo any branch
-
Which environments do you use/support?
To access you service your have several options (it depends on teams the preferences) you can use scaffold https://skaffold.dev/ or for simple case kfwd https://github.com/GiGurra/kfwd. Last for everything that is normally expose on internet you would have an Ingress and use external-dns as you would in prod.
-
Approaches in Cloud Development Ergonomics
This approach works great when it’s feasible, which is usually at a very early stage in the life of the application where it’s still small and tenable. There’s some tooling that lets you extend this honeymoon phase by letting you do it more easily, like docker-compose, Skaffold, or Tilt. However, at a certain point, even if you’ve written whatever scriptage is needed to actually configure and run the latest stable version of all of your components together, you’re going to hit some sort of ceiling: if you’ve got a large database, or some CPU-heavy computations, or you’re relying on some managed service that can’t be containerized, this approach soon becomes untenable.
-
Connecting a local container with a Kubernetes cluster
Another dev optimization is the conditional rebuilding of a container. For example tools like devspace and skaffold support syncing filles which have changes, but which don't require recompiling.
-
Best golang framework for microservice
I have been using Skaffold to deploy my apps to Kubernetes. As I use this for spring Boot apps too so it saves me learning another deployment process.
-
What are some useful Kubernetes tools you can share?
I really like https://skaffold.dev/ for local development, speeds up repetitive commands I have to run like build/push/apply.
-
Docker-compose vs bridge to kubernetes for local development with debugging
You might want to take a look at https://skaffold.dev/
-
How to create cloud-native CI/CD Pipelines with Tekton
Because these components are configured as Custom Resource Definitions on Kubernetes, you can create highly reusable pipelines, and Tekton is also compatible with Jenkins, Skaffold, Knative, and other CI/CD tools. Let’s take a look at getting started with Tekton, and start working on building our pipeline.
-
Transition to Kubernetes
Lastly if you are using compose to both build and launch containers then you're going to need more advanced tooling like devspace or skaffold to assist in creating a better development workflow for kubernetes.
-
Ask HN: What is your Kubernetes nightmare?
- Advanced features like profiles and modules for supporting multiple environments
Bazel
-
Just: A Command Runner
Oh excellent, then better (and more portable!) tools are available:
and, if you hate yourself: https://bazel.build
- Classifying Python virtual environment workflows
- Technology to verify that program binaries match a given source code?
-
'Best' Build System Language & Interface?
Taskfile: https://taskfile.dev/ Bazel: https://bazel.build/
-
What's New in Bazel 6.0
None, bazel's caching implementation is broken because they don't even know or specify what constituents a build a build hash/key. See this issue from 2018 that's still open [1].
-
Devpod: Remote Development at Uber
>Can you explain how a monorepo for microservices is a tooling nightmare and bandwidth sink?
bandwidth:
I meant "bandwidth" as literal bandwidth. When your codebase becomes huge, your VCS repo size becomes enormous and it becomes harder and harder to keep a full checkout on all the development machines, especially if they are over the WAN (e.g. at home on your laptop).
This has fuelled solutions like sparse checkouts (like MS vfs for git, now scalar) remote development (like TFA; but also Google's cider and srcfs etc).
tooling:
naïve monorepo tooling (which I've seen in various companies I worked for) simply perform a full build of the whole monorepo for each CI execution. At first this is just fine since you can parallelize builds and call it a day; but after a while, the builds just don't scale anymore ; flaky tests become an increasing frustration etc.
The tooling that can help scale large monorepos does exist, but requires buy in and comes with its own learning curve and tradeoffs. One well known such tool is bazel (https://bazel.build) and bazel remote builds and remote caches. These tools are hard to set up, although folks at https://www.buildbuddy.io/ can help smaller startups by offering a managed service.
(Again, I'm talking about really large monorepos. A monorepo which includes a dozen or so modules, for which you can easily perform a full re-build on a single CI worker and on your laptop is not the kind of repo that creates tooling nightmares.)
-
Problems compiling Python gRPC libraries in Bazel - different errors in deps
Repository rule http_archive defined at: /usr/local/home/wrp/.cache/bazel/_bazel_wrp/254c50c69c3701cca4e904bef759573b/external/bazel_tools/tools/build_defs/repo/http.bzl:370:31: in ERROR: /usr/local/home/wrp/.cache/bazel/_bazel_wrp/254c50c69c3701cca4e904bef759573b/external/bazel_tools/platforms/BUILD:89:6: in alias rule @bazel_tools//platforms:windows: Constraints from @bazel_tools//platforms have been removed. Please use constraints from @platforms repository embedded in Bazel, or preferably declare dependency on https://github.com/bazelbuild/platforms. See https://github.com/bazelbuild/bazel/issues/8622 for details. ERROR: /usr/local/home/wrp/.cache/bazel/_bazel_wrp/254c50c69c3701cca4e904bef759573b/external/bazel_tools/platforms/BUILD:89:6: Analysis of target '@bazel_tools//platforms:windows' failed INFO: Repository cython instantiated at: /usr/local/home/bill/depot/src/project/WORKSPACE:448:10: in /usr/local/home/wrp/.cache/bazel/_bazel_wrp/254c50c69c3701cca4e904bef759573b/external/com_github_grpc_grpc/bazel/grpc_deps.bzl:458:21: in grpc_deps /usr/local/home/wrp/.cache/bazel/_bazel_wrp/254c50c69c3701cca4e904bef759573b/external/com_github_grpc_grpc/bazel/grpc_python_deps.bzl:69:21: in grpc_python_deps Repository rule http_archive defined at: /usr/local/home/wrp/.cache/bazel/_bazel_wrp/254c50c69c3701cca4e904bef759573b/external/bazel_tools/tools/build_defs/repo/http.bzl:370:31: in
-
Learn how to build a monorepo in Next.js
Bazel: Fast, scalable, multi-language, and extensible build system
-
Building a full-stack TypeScript application with Turborepo
There are many tools like Lerna, Nx, Turborepo, Moon, Rush, and Bazel, to name a few. Today, we'll be using Turborepo, as it's lightweight, flexible, and easy to use.
- Ccache – a fast C/C++ compiler cache
What are some alternatives?
Buck - A fast build system that encourages the creation of small, reusable modules over a variety of platforms and languages.
Gradle - Adaptable, fast automation for all
devspace - DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
nx - Smart, Fast and Extensible Build System
meson - The Meson Build System
argo-cd - Declarative continuous deployment for Kubernetes.
telepresence - Local development against a remote Kubernetes or OpenShift cluster
okteto - Develop your applications directly in your Kubernetes Cluster
helm - The Kubernetes Package Manager
mediapipe - Cross-platform, customizable ML solutions for live and streaming media.
ninja - a small build system with a focus on speed
Apache Maven - Apache Maven core