GitPod: Automate Dev Setup

Photo by Dennis Eusebio on Unsplash

During our hackweek, I decided to work on automating dev setup for canvas-lms

The setup involves rails, custom gems, node/yarn, data setup for dev and test data setup. The process can take upwards for half day(depends on other issues one may encounter for local setup). more details on quick start guide see https://github.com/instructure/canvas-lms/wiki/Quick-Start

What’s gitpod?

Gitpod is based on Kubernetes, GitHub, and the new Eclipse Theia project — a VS Code-like IDE that runs in modern browsers. You can think of it as an online IDE with deep GitHub integration (and soon other platforms), providing fully-featured development environments with a single click for any GitHub project, issue, branch or pull request.

Steps for enable project for gitpod

a) Create a custom dockerfile

I’ve used gitpod/workspace-postgres base image(canvas-lms recently upgraded to pg12). Install ruby, node, yarn and libraries

b) Create a setup file

Main steps are

bundle install and yarn install

bundle compile assets

create db for canvas_development and setup data for development

create db for canvas_test and setup data for running specs(non-selenium)

install performance tweaks

https://github.com/san-nat/canvas-lms/commit/dbdd4f2ac2662c82f6a9fb47d805b8495d80a75d

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

8 VS Code extensions to help you code like a Pro

VS code extension

What is: YAML — its overview, basic data types, YAML vs JSON, and PyYAML

Eclipse Dirigible — Open Source Project for Low Code Development

A guide to SortedList (bonus) — Deep dive into data operations through JUnit4 tests

Applying Startup-like Requirement Analysis in Big IT Companies — Part 1

4 Scrum Events to Spice Up Your Life

OVH Install vanilla CentOS7 server with stock kernel (3.10) on dedicated server

building http based clients

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Natarajan Santhosh

Natarajan Santhosh

More from Medium

Top 5 Types of Computer-Aided Software Engineering (CASE) Tools

Use Apps Script to pull all Google Shared Drives and permissions into a Google Sheet

Business Intelligence vs. Business Analytics: Which One Is More Preferable?

Better App Development Tools