👁️
pierreinside
  • Introduction
  • Workbench
    • VirtualBox
    • Linux
      • Linux-Paketverwaltung
      • Linux Initialisierung
      • Ubuntu 14.10 LTS
      • Ubuntu 16.04 LTS
      • Ubuntu 18.04 LTS
      • Ubuntu 20.04 LTS
      • Ubuntu - Netzwerk
    • Konsole
      • ssh
      • zsh
      • cygwin
      • Babun
      • terminator
      • Terminal Multiplexer
      • Linux Tools
    • awesome
    • Entwicklungsumgebungen
      • Texteditors
      • Visual Studio Code
      • IntelliJ - IDEA
  • Softwareentwicklungsprozess
    • Schätzungen
    • Eventstorming
    • OKR
  • Architektur
    • Uncle Bob
    • Microservices
    • NoSQL
      • ElasticSearch
    • Hystrix
    • Reactive Programming
    • AngularJS
    • Service Mesh
  • Networking
    • Dependency Injection
  • Programming
    • Java Core/EE
      • Java 8
      • Java Annotationen
      • Bean Validation
      • Enterprise Java Beans Specification
      • Dependency Injection
    • JRebel
    • Webservices
      • HTTP
      • REST
      • Spring MVC REST
      • Swagger
      • Postman
    • Spring Ecosystem
      • Spring Core
      • Spring Boot
        • Programming
        • Production Ready
        • Testing
      • Spring Cloud
      • Spring Cloud Config
      • Spring MVC
      • Spring Data
      • Spring Petclinic
    • NodeJS
    • UI-Technologie
      • Thymeleaf
      • ionic
      • Web Fonts
      • Jinja Templates
      • Twitter Bootstrap
    • Python Ecosystem
      • Python Libraries
      • Python Testing
      • Python Best-Practices
      • Python Snippets
      • Python Selenium
      • Kivy UI
      • FastAPI
      • Typer CLI
      • Django
    • Groovy
    • Persistenz
      • Transactions
        • Java TX
        • JPA TX
      • TX Handling
      • JPA
        • Eclipse Link
      • MySQL
        • MySQL Performance
        • Docker MySQL
      • Hazelcast
    • Glassfish
    • YAML
    • Angular
    • Camel
    • Zeichenkodierung
    • Kinder lernen Programmieren
  • Testen
    • Easymock
    • Mockito
  • Performance & Scalability
    • Java Performance
      • Heapdump Analysis
    • Java Concurrency
    • Instana
  • Sicherheit
    • Authentifizierung
      • OpenID Connect
      • Web-Authentication API
    • Authorisierung
      • OAuth
      • SAML
    • Spring Security
    • Zertifikate
    • Kali Linux
    • VPN
    • Zero-Trust-Networks
  • Build und Deployment
    • Maven
    • Bamboo
    • Jenkins
      • Jenkins Pipelines
      • Jenkins Pipelines Tips und Tricks
      • Jenkins-configuration-as-Code
      • Jenkins IDE
    • Travis CI
    • Shellprogrammierung
      • jq - JSON Parsing
    • Konfiguration Management
    • Vagrant
      • Vagrant-Ansible-Integration
      • Vagrant Box bauen
    • Ansible
      • Getting Started
      • Ansible Details
    • Saltstack
    • LinuxKit
    • Container
      • Docker
        • Docker Getting Started
        • Debugging Docker
        • Docker Build
        • Docker Registry
        • Docker run
          • docker run
          • docker network
        • Docker Compose
        • docker machine
        • Docker@Windows
        • Docker Host
        • Docker Scaling
        • Docker Ressources
        • Docker Logging
        • windowsContainer
      • Cloud Deployment Provider
        • AWS
          • Anwendungsdeployment
          • Workload
          • Permissions
          • Netzwerke
          • AWS CLI
            • aws-vault
          • RDS
          • Static Website Hosting
          • EKS - Elastic Kubernetes Service
          • S3
        • Google Cloud Platform
      • Docker Orchestrierung
        • CoreOS
        • Kubernetes
          • microK8s
          • minikube
          • autoscaler
          • Docker
          • k9s
        • Nomad
    • PHP
  • Operations
    • Proxy
      • NGINX
    • DNS
    • Logging
      • Graylog
      • Fluentd
    • Monitoring
      • Grafana
    • Infrastructure-as-Code
      • Terraform
        • AWS-Provider
        • GitHub-Provider
      • Packer
    • Deployment
      • Vault
      • Consul
        • Consul Template
      • Fabio
  • Rechtliches
    • Software-Lizenzen
  • Git Ecosystem
    • Git
      • Git Lifecycle Hooks
    • GitHub
      • GitHub Organizations
    • GitHub Actions
    • GitHub Pages
    • GitHub CLI
    • GitHub Copilot
    • GitHub-AWS OIDC
    • GitBook
    • GitLab
    • Bitbucket/Stash
  • Publishing
    • WordPress
    • Markdown
    • Static Site Generators
      • Hugo
      • Jekyll
    • Tiddly Wiki
    • Leanpub
    • Animationsfilme
  • Storage
    • Synology 2012
    • Synology 2021
  • Collaboration
    • Übersicht
    • Microsoft Teams
  • Konferenzen
    • Velocity Berlin 2019
  • IT mit Kindern
    • Projekt Sportstracker
    • Scratch
    • Pico Spielekonsole
  • Schule
    • Mathematik
  • Misc
    • Foto/Video
      • Foto/Video Sammlung bis 2023
        • Handbrake
        • Onedrive
      • Foto/Video Sammlung ab 2024
      • Gopro
      • Panasonic FZ1000 ii
        • als Webcam
      • AV Receiver
      • Videos erstellen
        • OBS Studio
        • Touch Portal
        • Game-Streaming
      • Kameratasche
      • Kamera 2020
    • Handy
      • 2016
      • 2018
      • 2019
      • 2021
      • 2022
    • Computer
      • Laptop
        • 2018
        • Chromebook
      • Monitor
        • 4k
      • Software
        • Command Line Interface
        • Google API
        • Plant UML
        • Chromium
        • Passwort-Manager
        • GPG
      • Dell CNF 2665 Farbdrucker
      • Dockingstation
      • Gaming PC 2021
      • Mobiles Büro
      • Mobiles Internet
      • Mobiler Router
    • Beamer Benq W1000+
    • Spielekonsole
      • 2017
        • Playstation 4
      • Pico Spielekonsole
    • Gadgets
      • iPad Pro 2015 und 2016
      • iPad Air 2024
      • Macbook Pro
      • Smartwatch
      • Slate
      • Mudi
    • Fahrrad
      • Jonas 2018
      • SQLab
    • Auto
      • Auto 2022
      • Camping
        • Camping Touren Ideen
          • Camping Tour - Gardasee 2021
        • Camper
          • Camper klein - keine Stehhöhe
            • VW Bus Erfahrungen
          • Camper gross - Stehhöhe
    • Haus
      • Klimaanlage
      • Swimming Pool
      • Quick Mill Orione 3000
      • Spülmaschine 2021
      • Hebe-Schiebetür
      • Gasgrill
      • Minibar / Mini-Kühlschrank
      • Glasfaseranschluss (Fiber-to-the-Home)
      • Smart-Home
        • Raspberry Pi
        • Heimnetzwerk
      • Homeoffice
      • Energie
        • Solar
        • Wärmepumpe
    • Freizeit
      • Musik Streaming
      • Sky
      • Online Lernplattformen
      • eScooter - ePowerFun
    • Fußball
      • Meine Arbeit als Fußball-Trainer
      • Fußball Tools
      • DFB Talentförderung
    • Google Impact Challenge
  • Englisch
Powered by GitBook
On this page
  • Vollautomatisierung from-scratch
  • Umsetzung Versuch 1 - Vollautomatisierung - ERFOLGLOS
  • Umsetzung Versuch 2 - Halbautomatisierung
  • Umsetzung Versuch 3 - Vollautomatisierung
  • Ubuntu Desktop 14.10 LTS
  • Ubuntu Desktop 16.04 LTS
  • Chrome
  • pierreinside als Suchmaschine

Was this helpful?

Workbench

Vollautomatisierung from-scratch

Seit ca. 20 Jahren setze ich meine Entwicklungsumgebung manuell auf. Rechnerwechsel oder Distributionswechsel sind zwar selten ... aber wenn, dann kostet es doch recht viel Arbeit, alles wieder zum Laufen zu bekommen. Und das Schlimmste ist, daß man alle Probleme wieder neu lösen muß. Diese Know-How-Sammlung hilft mir dann zwar immer wieder auf die Sprünge, aber es ist doch erst mal eine hohe mentale Hürde, ein laufendes System aufzugeben.

Deshalb hatte ich die Vision, ein komplettes System from-scratch per Script aufzusetzen. Hauptsächlich wollte ich Ansible kennenlernen. Da mich VirtualBox und Vagrant schon einige Zeit begeistern, wollte ich NOCH einen Schritt WEITER gehen und alles from-scratch scriptgesteuert aufbauen. Das Scripting wäre gleichzeitig auch eine gute Dokumentation (ausführbare Dokumentation).

Auf diese Weise könnte ich auch anderen Entwicklern den Einstieg in eine Linux-Entwicklungsumgebung (OS, Docker, Java-IDE, Svn, Git, ...) erleichtern.

Ich frage ich allerdings bereits am Anfang dieser Idee, ob ich denn dauerhaft die Muße haben werde alle Anpassungen an meiner Workbench auch zu scripten und - VOR ALLEM - auch zu testen, denn das ist häufig sehr aufwendig ...

... aber scheinbar bin ich nicht der Einzige:

  • https://danielgroves.net/notebook/2014/05/development-environments/

  • http://digitalshore.io/set-up-a-local-linux-development-environment-with-vagrant/

  • ...

Umsetzung Versuch 1 - Vollautomatisierung - ERFOLGLOS

Meine ursprüngliche Idee war, ein Vagrant-Ansible-Setup unter einem Windows-Host zu fahren. Für Windows gibt es keinen Ansible-Support. Deshalb schied das typische Ansible-Remote-Provisioning (über ssh in das Guest-System hinein) aus. Mir blieb nur das Ansible-Local-Provisioning, bei dem Ansible auf dem Guest-System (Linux) installiert wird und dann der übliche ssh-execute-command verwendet wird (Details siehe hier). Leider hat das auch nicht funktioniert ... nach einigen Versuchen war ich frustriert und habe aufgegeben.

Umsetzung Versuch 2 - Halbautomatisierung

Nach dem gescheiterten Vagrant-Ansible-Setup habe ich mich entschieden zu folgender Vorgehensweise entschieden (ich hatte andere Prioritäten ... nämlich eine lauffähige neue Distribution, auf der ich neue Technologien in der Softwareentwicklung ausprobieren wollte):

  • Basissystem als Virtualbox-Image manuell installieren

  • SSH-Konfiguration zur Vorbereitung des Ansible-Einsatzes manuell durchführen

  • mit Ansible alle Installationen und Konfigurationen vollautomatisiert durchführen lassen

  • manuelle Nacharbeiten ... (in Zukunft immer weiter reduzieren)

Das erste System, das ich auf diese Weise aufsetze ist Ubuntu 16.04 LTS ... in dem Link finden sich weitere Informationen.

Umsetzung Versuch 3 - Vollautomatisierung

Der Nachteil des Ansible Ansatzes besteht darin, daß es recht schwierig ist, das Image per Vagrant vorzubereiten - letztlich bin ich daran damals auch gescheitert.

Mittlerweile gibt es mit Packer von HashiCorp und Mobi Tools, mit denen man Images für verschiedene Hypervisor-Technologien (lokal/remote) basteln kann. Auf diese Weise könnte ich dann sogar meine Workbench auf einer Cloud-Maschine bereitstellen ... nur eine Idee.

"Packer does not replace configuration management like Chef or Puppet. In fact, when building images, Packer is able to use tools like Chef or Puppet to install software onto the image." (https://www.packer.io/intro/index.html)

Ansible hätte somit auch noch sein Daseinsberechtigung ...


Ubuntu Desktop 14.10 LTS

siehe extra Abschnitt


Ubuntu Desktop 16.04 LTS

siehe extra Abschnitt


Chrome

Ich war jahrelanger zufriedener Nutzer von Firefox. Als Entwickler haben mich aber die Chrome-Tools sehr begeistert, so daß ich den Umstieg vollzogen habe.

pierreinside als Suchmaschine

Um schnell in diesem GitBook suchen zu können, habe ich unter Einstellungen - Suchmaschinen verwalten ... eine neue Suchmaschine mit diesem Querystring https://mobi3006.gitbooks.io/pierreinside/content/?q=%s definiert und das Kürzel p zugewiesen.

Nun kann ich im Browser elegant per p wasichsuchenwill suchen.

PreviousIntroductionNextVirtualBox

Last updated 3 years ago

Was this helpful?