One-click development environment via Gitpod.io (browser-based VSCode with cloud backend)

This commit is contained in:
Mob-Programming Meetup Austria 2022-05-27 17:18:17 +02:00 committed by GitHub
parent 0a6345c60b
commit c32bcc8dcb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 54 additions and 0 deletions

32
.gitpod.yml Normal file
View file

@ -0,0 +1,32 @@
# This configuration file was mainly inspired by ./doc/SETUP_DEVELOPMENT_DOCKER.md
tasks:
- name: Docker
init: |
# init docker containers
docker-compose -f docker-compose-dev.yml pull
docker-compose -f docker-compose-dev.yml up -d mariadb
docker-compose -f docker-compose-dev.yml run --rm foodsoft bundle install
docker-compose -f docker-compose-dev.yml run --rm foodsoft bundle exec rake foodsoft:setup_development_docker
# setup test database
docker-compose -f docker-compose-dev.yml run --rm mariadb mariadb --host=mariadb --password=secret --execute="CREATE DATABASE test"
docker-compose -f docker-compose-dev.yml run --rm foodsoft bundle exec rake db:schema:load RAILS_ENV=test DATABASE_URL=mysql2://root:secret@mariadb/test?encoding=utf8mb4
command: |
# start docker containers
docker-compose -f docker-compose-dev.yml up
- name: Rails
command: |
echo "The rails application is started in docker containers (see docker-compose-dev.yml)."
echo "For executing rails commands, open up a bash terminal inside the foodsoft container via 'docker-compose -f docker-compose-dev.yml exec foodsoft bash'"
ports:
- port: 3000
onOpen: open-preview
- port: 2080
onOpen: notify
- port: 1080
onOpen: notify
vscode:
extensions:
- ms-azuretools.vscode-docker

View file

@ -23,6 +23,11 @@ Get foodsoft [running locally](doc/SETUP_DEVELOPMENT.md),
then visit our [Developing Guidelines](https://github.com/foodcoops/foodsoft/wiki/Developing-Guidelines)
page on the wiki.
Get a foodsoft dev-environment running in the browser with Gitpod
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/mob-programming-meetup/foodsoft)
Follow these [instructions](doc/SETUP_DEVELOPMENT_GITPOD.md) to complete setup from within the Gitpod workspace.
Deploying
---------

View file

@ -0,0 +1,17 @@
After opening the workspace, follow these steps to complete the setup:
1. Login using the default credentials: `admin/secret`
1. Change the admin password, just in case.
1. Optionally, load an initial database (here seeded with `small.en`) by running
```
docker-compose -f docker-compose-dev.yml run --rm foodsoft \
bundle exec rake db:schema:load db:seed:small.en
```
> Note: The gitpod env is setup to open the front-ends using a preview browser built into the workspace. You can also open these in browser tabs by clicking the icon next to address bar. Refer gitpod.io docs about [whitelisting workspaces](https://www.gitpod.io/docs/configure/browser-settings#browser-settings) to prevent pop-up blockers from blocking these tabs.
The main configuration of the Gitpod workspace is in [/.gippod.yml](/.gitpod.yml). Check out https://www.gitpod.io/docs/config-gitpod-file for more information.