Devcontainer.json customization guide blog header — gitignore template, git skip-worktree, and custom devcontainer feature methods, by Jake Everhart, Keyhole Software

Customizing Devcontainers Without Affecting Your Team

Jake Everhart Agentic AI & AI-Accelerated Development, Articles, Development Technologies & Tools, DevOps, Infrastructure As Code (IaC) Leave a Comment

There’s no single “correct” way to customize a devcontainer, just like there’s no one right way to use most tools in software development. Devcontainers can be great for solo projects, to yield an isolated development workspace with no risks of polluting (or being polluted by) the external environment. They can also give teams a consistent, baseline environment for bootstrapping engineers, with integrations like GitHub Codespaces exposing that environment in a variety of ways. But the gap between those workflows is large, and managing it sometimes requires weighing a team’s needs vs. individual preferences.

It’s a balancing act, and getting it wrong can make your containers brittle, difficult to maintain, and cause enough overall frustration to outshine the benefits.

Yet there are options available for a more-granular approach. We don’t have to decide just between bare-minimum or include-everything – we can curate containers that are focused on the core tools used across the entire team, while still providing room for per-user expansions.

Today, we’ll explore a few approaches for customizing a shared devcontainer setup across different team scenarios, without having to abandon shared devcontainers altogether.

Expo and Express Web and Mobile Dev

Web and Mobile Dev with Expo and Express

John Boardman Articles, Mobile, React, React Native 3 Comments

So, you want to develop a new website with spiffy apps on Android and iOS, and you want that website and your APIs to run in Node Express. It sounds like a lot of work to write the website in React (or Flutter or whatever the language de jour is), the Android app with Android Studio, and the iOS app with Xcode…

JIRA Automation: Streamlining CI/CD for Agile Teams

Hands-Off JIRA Automation: Streamlining CI/CD for Agile Teams

Chris Weiner Agile, API Development, Articles, Automation, CI/CD, Cloud 5 Comments

In this blog, we’ll explore how CI/CD automation with tools like JIRA Cloud, Jenkins, Slack, GitHub, SVN, and Postman benefits Agile teams as a whole. Whether you’re new to Agile or are working with an experienced team, automation can significantly reduce “JIRA paperwork” while keeping everyone focused on delivering value. By streamlining repetitive tasks, teams can spend more time on …

Dev Container CLI Escaping the IDE Restrictions

Dev Container CLI: Escaping the IDE Restrictions

Jake Everhart API Development, Articles, Development Technologies & Tools, Docker, Programming 1 Comment

In past blogs, I have discussed development containers (dev containers) in detail, from explaining their general mechanics to showing how they can bolster a team’s build automation. As a brief recap for the uninitiated: dev containers are a way of encapsulating a developer’s setup into a container, typically a Docker container. As a practical example, rather than forcing a new teammate to manually install and configure all the necessary tooling before contributing to a project, they can leverage a team’s devcontainer.json definition file to quickly spin up a fully configured development environment.

Microsoft has championed this workflow over the past few years, offering tight integration with tools like VS Code and Codespaces to make containerized development as seamless as possible. At the time of writing, the developer experience has reached a point where I honestly prefer to operate within a dev container for certain types of projects. When I open a team’s codebase within VS Code and it informs me that they have provided a dev container to use, I have higher confidence that I’ll be using the same versions of their tools and seeing the behaviors that they expect.

I’ve even come to trust these setups more than an equivalent set of Dockerfiles or docker-compose scripts, just because the simplicity of the ecosystem makes it more likely that everything is well-maintained and configured correctly. It’s easy to see how these standardization and automation benefits can be a huge boost to teams…once they’ve adopted the right tools to integrate with them.

But what if you don’t want to use VS Code?

Saving The Environment With React Hooks

Using React Hooks To Save the Environment

James Bradley Articles, Node.js, Programming, React, TypeScript Leave a Comment

Attention: This article was published over 6 years ago, and the information provided may be aged or outdated. While some topics are evergreen, technology moves fast, so please keep that in mind as you read the post.Every application has some need for environmental variables that are specific to that environment. This can be database connections strings or URL to an …