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

VM dla uczestników #12

Open
5 of 7 tasks
afronski opened this issue Mar 26, 2015 · 23 comments
Open
5 of 7 tasks

VM dla uczestników #12

afronski opened this issue Mar 26, 2015 · 23 comments

Comments

@afronski
Copy link
Contributor

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

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

frakti commented Mar 26, 2015

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
Copy link

tpindel commented Mar 26, 2015

@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
Copy link
Collaborator

frakti commented Mar 27, 2015

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

frakti added a commit to frakti/silesia that referenced this issue Mar 29, 2015
Running some of the NodeSchool workshoppers can be tricky on Windows
platform. To decrease preparation time for workshops a VM/OVA generated
by the template can be used. In addition the VM includes all native
dependencies the workshoppers (nodeschool#12).
@afronski
Copy link
Contributor Author

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
Copy link
Collaborator

frakti commented Mar 29, 2015

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
Copy link
Contributor Author

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
Copy link
Collaborator

frakti commented Mar 29, 2015

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
Copy link
Contributor Author

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
Copy link

derberg commented Apr 8, 2015

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
Copy link
Contributor Author

afronski commented Apr 9, 2015

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
Copy link

derberg commented Apr 9, 2015

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
Copy link
Contributor Author

afronski commented Apr 9, 2015

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

@afronski
Copy link
Contributor Author

@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
Copy link
Contributor Author

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

@frakti
Copy link
Collaborator

frakti commented Apr 19, 2015

@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
Copy link
Contributor Author

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

@frakti
Copy link
Collaborator

frakti commented Apr 19, 2015

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
Copy link
Contributor Author

@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
#12 (comment).

@derberg
Copy link

derberg commented Apr 20, 2015

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

@afronski
Copy link
Contributor Author

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

@awilczek
Copy link
Member

@derberg
Copy link

derberg commented Apr 23, 2015

@afronski byl jakis feedback? uzywali tego ludzie wogole?

@afronski
Copy link
Contributor Author

@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 :).

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

No branches or pull requests

5 participants