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

Consider cloud IDE with cloud dev container #3

Open
slominskir opened this issue Dec 7, 2022 · 2 comments
Open

Consider cloud IDE with cloud dev container #3

slominskir opened this issue Dec 7, 2022 · 2 comments

Comments

@slominskir
Copy link
Member

slominskir commented Dec 7, 2022

Currently the recommended approach to development is to use an IDE installed on a local workstation. In the near future development may be mostly happening in a web browser. I already make minor changes such as documentation changes routinely in-browser on github.com.

Local workstation development requires users to install an IDE and other tooling, plus patch and update constantly. Ideally this is repeated similarly for each member of a team and in each office of each person (I currently must patch IntelliJ, Docker, Java, and Gradle on my home office PC, work office PC, and travel Macbook). A docker compose quick start is great, but running it in a dev container is even better as it reduces the difficulty of entry for interested parties even lower, especially great for potential contributors.

Up and coming cloud development solutions include GitHub codespaces and IntelliJ spaces plus dozens of others. Cost is a consideration though as free tiers have limited hosted resources.

@slominskir
Copy link
Member Author

slominskir commented Dec 7, 2022

Tried out codespaces. It's pretty cool as everything happens in-browser via visual studio code web edition. The built-in terminal is actually pretty good (you can create multiple tabs, run docker compose up in one while running docker exec in another, and htop in another and gradlew build in another.). This project needs the 8GB container (as opposed to default 4GB) else runs out of memory and fails to start the oracle database container when executing docker compose up (inside the dev container). Would probably be most useful if a dev container prebuild was created. However, you have to be an organization admin to do that (I can only create prebuilds for my personal projects). Also, the docker-in-docker has some quirks that would need to be worked around - in this project our app redirects users on login to keycloak, and that doesn't work in this dev container env because the host names used for port-forwarding are created on the fly and randomly assigned whereas the current local workstation development relies on fixed localhost name and fixed ports for the redirect to https and redirect to keycloak and redirect back to demo app.

@slominskir
Copy link
Member Author

Redirect issue persists, but you can use docker in sibling mode and manually pre-build image: https://github.com/orgs/community/discussions/113197

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant