Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Devcontainers Support in VSCode (Dolphin) #42

Closed
3 of 12 tasks
damienwebdev opened this issue Oct 11, 2021 · 0 comments · Fixed by #64
Closed
3 of 12 tasks

[FEAT] Devcontainers Support in VSCode (Dolphin) #42

damienwebdev opened this issue Oct 11, 2021 · 0 comments · Fixed by #64
Assignees
Labels
docker Docker enhancement New feature or request Hacktoberfest Hacktoberfest issue! Easy-medium difficulty.

Comments

@damienwebdev
Copy link
Member

damienwebdev commented Oct 11, 2021

💡 Feature request

Feature Name

Dolphin - DevContainers

Dolphin

The next step forward in Mage2Docker local development environments. All the things you liked, without all the things you hated. Moving forward to meet the original promise of "it works on all machines".

The Problem

For the longest time, Graycore engineers (and external users who use Mage2Docker) have had to suffer mechanical differences between local Magento 2 environments depending upon which operating system the developer happens to be using.

For example, MacOS developers had to either have both PHP and Composer installed in their host environments or suffer the wrath of Docker-for-Mac file system performance issues.

In addition, developers working on Windows had to use WSL2 in order to get started. While WSL2 is a wonderful product, it adds additional complexity on top of an already complicated setup.

Finally, for all three platforms, file-system permissions as a result of file mounting behaviors per platform were the norm not the exception, ultimately frustrating everyone.

What had started as a "clone once, run everywhere" system was overly complicated and the abstraction was extremely leaky.

Queue 2021. Github Codespaces have become more and more common, and many users who previously leveraged PHPStorm to develop Magento 2 were happily switching over to VSCode because, for your average Magento user, the utility (or greater) was the same, but there wasn't an associated recurring license fee.

As such, we felt it was time to attempt to solve our cross-platform local development environment problems a different way.

The solution

With the Mage2Docker Dolphin project, we've managed to finally abstract away the platform problem by leveraging VSCode's Devcontainers or (if you have access to it) Github Codespaces.

You can now TRULY develop cross-platform without concerning yourself with the underlying system behavior as you actually work directly inside the docker container.

For our current dependents, we still support the COMPOSE_FILE behavior in .env, but strongly encourage you to try out Dolphin as its where we're looking to invest our time and effort in the long term.

TODO

  • Add docs
    • MacOS
    • Linux
    • Windows
    • Create a documentation video
  • Support Switching PHP Versions
  • Verify Backwards Compatability
  • Pre-include .vscode/launch.json for dolphin in dolphin containers
  • Allow for deploying Venia Sample Data with a flag
  • Allow for cloning Magento 2 Github
  • Allow for using composer project
  • Preconfigure PHPCS and PHPCBF Plugins
@damienwebdev damienwebdev self-assigned this Oct 11, 2021
@damienwebdev damienwebdev changed the title [FEAT] Devcontainers Support in VSCode [FEAT] Devcontainers Support in VSCode (Dolphin) Oct 11, 2021
@damienwebdev damienwebdev added Hacktoberfest Hacktoberfest issue! Easy-medium difficulty. docker Docker enhancement New feature or request labels Oct 11, 2021
@damienwebdev damienwebdev mentioned this issue Oct 13, 2021
3 tasks
@damienwebdev damienwebdev pinned this issue Aug 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docker Docker enhancement New feature or request Hacktoberfest Hacktoberfest issue! Easy-medium difficulty.
Projects
None yet
1 participant