nodeschool / silesia

:school::factory: Repository for organizing the Polish nodeschool.io in the Silesia region.
MIT License
8 stars 3 forks source link

VM dla uczestników #12

Open afronski opened 9 years ago

afronski commented 9 years ago

Może mała podpowiedz do tematu konfiguracji środowiska, szczególnie, że wczoraj kilka osób znowu miało problem z windowsem. Kiedyś, na jednej konferencji, na warsztacie gdzie próbowaliśmy kilka topowych baze NoSQL widziałem eleganckie usprawnienie. Organizator przygotowal image linucha z doinstalowanymi wszystkimi bazami, z pelna konfiguracja i materialami ćwiczebnymi na pulpicie. Wystarczylo zainstalowac Virtual Boxa i warsztaty bez problemu zaczely sie w 5 minut. by @derberg

Wymagania

  • Click-and-play - sieć, dwukierunkowe współdzielenie plików.
  • Bezproblemowe na wielu platformach (Windows, Linux, OS X).
  • Jedyne wymagania - vagrant lub sam VirtualBox w określonej wersji.
  • Bezproblemowy proces budowania maszynki.

    Problemy i research

  • [x] Sprawdzić czy społeczność nie przygotowała już czegoś podobnego.
  • [x] SSH na Windows.
  • [ ] Vagrant czy VirtualBox?
  • [ ] Jeśli VirtualBox - to która wersja?
  • [x] Proces budowania - provisioning, Packer.io.
  • [x] Dwukierunkowe współdzielenie plików i wiele platform.
  • [x] Współdzielenie sieci i wiele platform.
frakti commented 9 years ago

Nie wiem czy możemy polegać na sieci w miejscach spotkań, ale aby zminimalizować czas przygotowania proponuję, aby zawsze była jakaś maszyna podpięta do tej samej sieci co uczestnicy i udostępniła wszystko (installki, vm, Vagrantfile, etc) via http. Wprawdzie same installki zajmują stosunkowo mało, to dystrybucja VMki pendrivem trochę byłaby niepraktyczna. A tak uczestnik mógłby ściągnąć i odpalić pojedynczy batch/sh, który ogarnie wszystko. Co sądzicie?

Możemy jakoś pomóc?

tpindel commented 9 years ago

@frakti Spoko pomysły. Jeśli chcesz chętny to jak najbardziej przyjmiemy Twoją pomoc. Możesz zabrać któreś z zadań na siebie. Daj tylko znać co przygotujesz i na kiedy.

frakti commented 9 years ago

Przygotuję pierwszą wersję szablonu packera do zbudowania obrazu. PR będzie do 28.03.

afronski commented 9 years ago

FTR: Sprawdziłem czy społeczność czegoś podobnego nie zrobiła - jest jedna wzmianka o NodeSchool Chengdu (Chiny), ale nie jestem w stanie znaleźć linka do tego. Większość grup skupia się na instalacji na komputerach uczestników.

frakti commented 9 years ago

Co do dwukierunkowego współdzielenia plików, zrobiłbym to najprościej jak się da. Załóżmy, że narzucimy uczestnikom, aby udostępniony katalog Hosta miał konkretną nazwę zasobu na Gueście np. nodeschool. Wówczas można postawić daemona do lokalnej synchronizacji zamontowanego zasobu (/media/sf_nodeschool) z jakimś innym katalogiem (np. ~/nodeschool). Daemon ogarnąłby problem (nie)kopiowania symlinków i praw. Zacząłem się już wstępnie bawić narzędziem unison.

Jeśli chodzi o współdzielenie sieci, to vagrant rozwiązałby problem. Tym bardziej, że fajnie było by aby te maszyny były zbridgowanie z siecią Hosta, dzięki czemu w razie potrzeby prowadzący może zdalnie wbić i zerknąć jeśli coś będzie się działo ze środowiskiem, bez konieczności blokowania kompa uczestnika. Pytanie czy chcemy obciążać systemy uczestników kolejną zależnością?

SSH na Windowsie? Proponuję przygotowanego Cygwina w wersji portable.

afronski commented 9 years ago

File sharing: Po co daemon? vboxsf z VirtualBox Guest Additions nie zadziała?

Network: Sieć da się ustawić z poziomu plików OVF dla VirtualBox ew. można obejść problem inaczej - zbudować za pomocą Vagrant box z siecią, wyeksportować i użyć jako bazowy obrazek dla Packera.

Co do SSH na Windows - może zamiast Cygwina coś lżejszego - Putty albo polecić ten projekt, który ma preinstalowany msysgit z zależnościami - ssh też tam jest.

frakti commented 9 years ago

File sharing: vboxsf nam nie wystarczy, ściągając zależności npmem nadal pracujemy na NTFSie, na których npm symlinków nie stworzy, np. mocha nie zainstalujesz. No chyba, że narzucamy uczestnikom aby instalowali moduły z przełącznikiem --no-bin-links.

Network: Jeśli nam nie zależy na bridge to spoko. Obecny stan jest akceptowalny, sieć działa. Generalnie próbowałem Packerem zbudować obraz z bridge, niestety trzeba podawać nazwę interfejsu sieciowego z Hosta, co jest bezsensownym założeniem (zaś używając vagranta, on sam wykryje ów interfejs). Pytanie tak na prawdę ile kroków manualnych zostawimy uczestnikom.

SSH na Windows: W sumie niegłupi pomysł. Putty wystarczy.

afronski commented 9 years ago

File sharing: Prawda, zapomniałem o tym problemie.

Network: Z bridge mogą być problemy z forwardowaniem portów (którego notabene nie widziałem w naszym template - nie wiem czy nie byłoby warto tego poprawić).

derberg commented 9 years ago

Hej, a co wy na to https://codeanywhere.com W minute postawilem sobie virtualke z preinstalowanym nodem, do tego doinstalowalem learnyounode Rozwiazanie za free dla jednego usera ktory nie potrzebuje fajerwerkow. No i w cloudzie, tak wiec dostepne z kazdego kompa, a nawet sa mobile apki

afronski commented 9 years ago

codeanywhere.com to faktycznie dobry projekt i pomysł. Nie sprawdzi się dla wszystkich warsztatów (np. shareowanie portów, plików), ale dla podstawowych workshopperów to dobry pomysł. Widzę tylko jedno niebezpieczeństwo - jeśli będzie problem z łączem internetowym pomysł się wyłoży, a trzeba przyznać, że lokalne VMki nie mają tego problemu.

@derberg Czy chciałbyś przygotować taką wirtualkę w chmurze na następne spotkanie? Skupmy się, żeby działały bez problemu podstawowe warsztaty javascripting i learnyounode - będzie to jeszcze mniejsza bariera wejścia dla totalnie początkujących uczestników.

derberg commented 9 years ago

Tam nie ma za bardzo co przygotowywac, odpalenie na wlasnym koncie wirtualki z preinstalowanym nodem zajmuje minutke. Kwestia upgradu - jezeli trzeba - no i instalowania workshoperow. Moge nagrac filmik jak to zrobic od momentu zalogowania poprzez dodanie virtualboxa poprzez skonczenie na instalacji javascriptingu i learnyounode i pokazaniu jak odpalic projekt zeby zobaczyc ze bangla

afronski commented 9 years ago

@derberg W takim razie przygotuj proszę taki tutorial. Będzie to na pewno duża pomoc dla początkujących.

afronski commented 9 years ago

@frakti Myśle, że możemy skorzystać z przygotowanej przez Ciebie maszynki na jutrzejszym szkoleniu bez rozszerzania jej o współdzielenie plików - co Ty na to?

afronski commented 9 years ago

@derberg Czy udało się pociągnąć ten temat do przodu czy nie miałeś czasu? :)

frakti commented 9 years ago

@afronski myślę, że tak. W sumie to możemy zapiąć alias alias npm="npm --no-bin-links" i problem z głowy. Jaką formą udostępniamy obraz? pendrive czy server http na lapku? Kto tę akcję bierze na siebie?

afronski commented 9 years ago

@frakti Jak już zapniemy alias to obraz wgram na pendrive (ja to mogę zrobić ;)) wraz z instalkami VirtualBox - jaką wersję zalecasz?

frakti commented 9 years ago

OK, w takim razie zaraz wrzucę PR z aliasem (plus mały fix bez którego sharowanie nie zadziała od strzału). Co do instalki, wszystko zależy na jakim VirtualBox zbudujesz ten obraz, bo pod tę wersję zostaną zainstalowane Guest Additionsy.

Jeszcze pozostała kwestia krótkiej instrukcji (README obok obrazu?) jak tam się zalogować via putty.

afronski commented 9 years ago

@frakti Ok, to ogarnij proszę README.md a ja jutro zbuduje obraz i wgram na pendrive.

Wojciech Gawroński (afronski)

2015-04-19 20:07 GMT+02:00 Tomasz Sikora notifications@github.com:

OK, w takim razie zaraz wrzucę PR z aliasem (plus mały fix bez którego sharowanie nie zadziała od strzału). Co do instalki, wszystko zależy na jakim VirtualBox zbudujesz ten obraz, bo pod tę wersję zostaną zainstalowane Guest Additionsy.

Jeszcze pozostała kwestia krótkiej instrukcji (README.md) jak tam się zalogować via putty.

— Reply to this email directly or view it on GitHub https://github.com/nodeschool/silesia/issues/12#issuecomment-94301995.

derberg commented 9 years ago

@afronski 3min video gotowe: https://www.youtube.com/watch?v=fQHc5hTXuP0

afronski commented 9 years ago

@derberg Super! Rewelacja - wielkie dzięki (dodam Cie do hall of fame w głównym README.md).

awilczek commented 9 years ago

FTR: https://jpadilla.github.io/juicebox/

derberg commented 9 years ago

@afronski byl jakis feedback? uzywali tego ludzie wogole?

afronski commented 9 years ago

@awilczek Właśnie widziałem ten projekt, szkoda że już mamy VM ;). @derberg Wszyscy ostatnio korzystali z własnych komputerów, jedna osoba z VM, ale jak sam widziałeś, było mniej osób - zobaczymy na następnym spotkaniu :).