fosscu.org icon indicating copy to clipboard operation
fosscu.org copied to clipboard

[Feature] Enabling DevContainers for Development

Open Mr-Sunglasses opened this issue 2 years ago • 3 comments

Describe the feature you'd like to request

Developing inside a Container

The Visual Studio Code Dev Containers extension lets you use a container as a full-featured development environment. It allows you to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code's full feature set. A devcontainer.json file in your project tells VS Code how to access (or create) a development container with a well-defined tool and runtime stack. This container can be used to run an application or to separate tools, libraries, or runtimes needed for working with a codebase.

Workspace files are mounted from the local file system or copied or cloned into the container. Extensions are installed and run inside the container, where they have full access to the tools, platform, and file system. This means that you can seamlessly switch your entire development environment just by connecting to a different container.

Describe the solution you'd like

Proposed Steps

  1. Docker Setup: Ensure Docker is installed on the developers' machines. If not, provide instructions for Docker installation.
  2. Container Configuration: Create a devcontainer.json file in the repository root. This file will define the development environment, including the base image, extensions, and settings.
  3. Extensions and Tools: Identify the necessary VS Code extensions, tools, and configurations required for website development. These can include code formatters, linters, debugging tools, and more.
  4. Documentation: Update the repository's README to include instructions on setting up and using DevContainers. This should cover installation, basic usage, and troubleshooting tips.
  5. Testing: Have a few team members test the DevContainer setup on different platforms to ensure it works smoothly across various environments.
  6. Feedback and Iteration: Encourage developers to provide feedback on the DevContainer setup. Iterate on the configuration based on their input.
  7. Integration: Consider integrating the DevContainer setup into the continuous integration (CI) process to catch environment-related issues early in the development pipeline.

Describe alternatives you've considered

No response

Additional context

image

Doc for DevContainers

Mr-Sunglasses avatar Aug 13 '23 01:08 Mr-Sunglasses

Hi @Mr-Sunglasses ,

I'm interested in working on this GitHub issue. I believe I can contribute effectively, but please be aware that it may take some time to complete.

Could you please assign this issue to me?

Thank you!

Saurav-Pant avatar Sep 11 '23 18:09 Saurav-Pant

@Saurav-Pant To avoid ambiguity, this issue is not assigned to anyone currently so is available to anyone. Submit a draft PR getting started on the work and we can assign it.

Mr-Sunglasses avatar Sep 11 '23 18:09 Mr-Sunglasses

ok @Mr-Sunglasses, I will try and raise a PR

Saurav-Pant avatar Sep 11 '23 18:09 Saurav-Pant