Coder Social home page Coder Social logo

jumpstart-vm's Introduction

jumpstart-vm

vagrant-up ansible-lint

Für den Jumpstart-Kurs wird eine Entwicklung-Umgebung benötigt, in welcher alle Tools für die entsprechenden Übungs-Aufgaben installiert sind. Damit diese Umgebung nicht mit anderen bereits installierten Tools kollidiert und für alle Teilnehmen konsistent ist, wird dafür eine virtuelle Machine eingerichtet.

Als Basis wird Ubuntu-Desktop verwendet, auf welcher mittels ansible im Folgenden alle benötigten Tools automatisiert installiert werden.

Rechen-Performance der VM

Damit die VM beinahe native Rechen-Leistung erreicht, sollte sicherstellt werden, dass der Rechner alle benötigten Virtualisierung-Technologien aktiviert hat. Diese finden sich in den BIOS/UEFI-Einstellungen.

Unter Intel-CPUs: VT-x und VT-d

Unter AMD-CPUs: AMD-V und AMD-Vi oder SVM

Installation

Es gibt mehrere Möglichkeiten wie die VM aufgesetzt werden kann:

  • Virtualbox:
    • Funktioniert am besten, wenn kein anderer Hypervisor (VMWare, Hyper-V, Docker-Desktop) im System aktiv ist.
    • Sehr flexibel was die Verwendung des virtuellen Desktops betrifft.
    • Installation mit Virtualbox
  • Hyper-V:
    • Beste Kompatibilität, wenn auch Docker-Desktop oder WSL2 auf dem physischen PC laufen muss.
    • Bedienung über den virtuellen Desktop eingeschränkt. Hier wird die Verwendung mittels SSH und X-Forwarding empfohlen.
    • Installation mit Hyper-V

Verwendung der Desktop-VM

Die VM kann direkt im Virtualbox/Hyper-V-Manager GUI gestartet werden. Nutzername und Passwort sind: vagrant:vagrant.

Arbeiten mit JetBrains IDEs

Alle JetBrains-Produkte können entweder gratis (Community-Edition) oder als Test-Version (30 Tage) verwendet werden.

Die meisten IDEs verfügen über ausführliche Hotkey-Systeme, die das Arbeiten erheblich erleichtern. Folgend ein kleiner Auszug aus CLion:

Shortcut Explanation
Ctrl + Alt + l Automatische Formatierung
Ctrl + F9 Build
Shift + F9 Run
Alt + F7 Find usage
Shift, Shift Intelligente Suche
Ctrl + Alt + s Settings
Ctrl + Shift + f Search all
Ctrl + Shift + r Search & Replace all

Weitere verfügbare Tools

  • code (Visual Studio Code)
  • git gui (git Commit Helper)
  • gitk (git Tree Viewer)
  • valgrind (Memory Analyzer)
  • nano (Console Editor)
  • tmux (Shell Multiplexer)
  • okular (PDF Viewer)
  • fdfind (fast search tool)

Headless-Verwendung

Die VM ist auch für die Benutzung ohne virtueller Desktop-Oberfläche ausgelegt. Dazu kann mittels SSH und X-Forwarding gearbeitet werden. Weitere Infos dazu unter: docs/headless.md

jumpstart-vm's People

Contributors

bacluc avatar langchr86 avatar oli-scs avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

bacluc oli-scs

jumpstart-vm's Issues

Docker daemon hides SCS Network

If we stop using the vm -> no problem

Else, use the following
/etc/docker/daemon.json

{
    "bip": "172.28.0.1/24",
    "default-address-pools": [
        {"base":"172.28.0.0/16", "size":24}
    ],
    "data-root": "/opt/docker",
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file": "5"
    }
}

Setup a central VM

All jumpstarters should be able to connect to the central VM with SSH X-Forwarding. This would reduce the effort to setup individual VMs. Need to check with IT. Maybe we need 2 (primary and backup) VMs. Ensure easy setup of the VM (should already be the case because of scripted with ansible)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.