Zum Inhalt springen

Griller

Mitglieder
  • Gesamte Inhalte

    1.257
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    28

Reputationsaktivitäten

  1. Like
    Griller reagierte auf _n4p_ für ein Blogeintrag, Abenteuer mit Linux   
    Hinweise
    Dies wird keine Anleitung für Linuxanfänger. Es wird keine Patentrezepte zum Lösen von Problemen geben. In so gut wie jedem beschriebenem Fall wird es alternative Lösungen geben. An einigen Stellen wird etwas Vorwissen vorausgesetzt.
    Motivation
    Als begeisterter Windowsnutzer seit ca 15 Jahren mit etwas Langeweile, habe ich beschlossen mal etwas verrücktes zu versuchen. Die winzige 256 GB SSD meines Yoga 3 Pro war mal wieder übervoll, also wurde endlich mal eine neue gekauft auf die das Windows umziehen sollte. Was lag also näher als der kleinen SSD auf ihre alten Tage noch etwas Spaß zu gönnen. Nebenbei könnte ich auf die Art die Linuxkentnisse etwas vertiefen und sehen wie viel Spaß Linux auf dem Desktop beziehungsweise Laptop macht. Zum Einen ist dies nicht der erste Ausflug in die Linuxwelt. Erste Versuche wurden zu Zeiten von Debian 2/3 unternommen. Anfangs noch mit SuSE und Red Hat um dann recht schnell bei Debian zu landen und einige Jahre dabei zu bleiben. Zum Anderen habe ich auch beruflich ein paar Linuxserver, mit unterschiedlichen Distributionen, zu verwalten.
    Fragen vor dem Anfang
    Die wichtigste oder unwichtigste Frage am Anfang ist welche Distribution es werden soll. Schaut man bei Distrowatch vorbei versinkt man schnell in einer Unmenge an Varianten. Unter Hauptdistributionen findet man eine Liste der populärsten Distributionen mit einer groben Unterteilung nach Komplexität. Da schon etwas Erfahrung mit Linux vorhanden ist und ich auch nichts komplett vorgekautes benutzen wollte, hab ich mich für Arch Linux entschieden. Einige Server auf Arbeit laufen auch schon damit. Es ist also kein vollkommenes Neuland.
    Die Installation
    Zur Installation gibt es nicht viel zu sagen. Es gibt im Arch-Wiki eine ausführliche Anleitung, der man problemlos folgen kann sofern man lesen und tippen kann. Ein kleiner Stolperstein liegt in der Partitionierung. Früher hab ich beispielsweise /usr auf eine eigene Partition ausgelagert. Unter Arch funktioniert das nicht, da /bin und /sbin nur Symlinks auf /usr/bin und /lib sowie /lib64 Links auf /usr/lib sind. Danach fangen dann die Probleme an.
    Das erste mal booten
    Was zuerst auffällt ist die winzige Schrift in der Konsole, immerhin hat das Yoga 3 Pro ein QHD+ Display bei gerade mal 13 Zoll Diagonale. Zum Glück hatten schon viele ähnliche Probleme und es gibt auch dazu einen Artikel im Arch Wiki.
    Danach möchte man eventuell noch etwas mehr Software installieren. Das wird aber erstmal nichts. Aus Gründen wird der "falsche" Treiber für das WLan-Modul geladen. Der falsche Treiber landet also auf der Blacklist. Ohne WLan wird es allerdings schwierig den richtigen Treiber zu bekommen. Eine Lösung dafür ist einfach nochmal das Installationsmedium zu booten und in das installierte System zu "chrooten". Im Installationssystem ist auch der richtige Treiber verfügbar und kann in das Zielsystem installiert werden. Ist das alles geschafft, darf man dann noch etwas lernen. Es gibt noch "rfkill", mit dem man Bluetooth und WLan ein- beziehungsweise ausschalten kann/darf/muss. Nun kann man das WLan mit "wifi-menu" oder "wpa_supplicant" konfigurieren und weitere Software installieren.
  2. Like
    Griller reagierte auf _n4p_ für ein Blogeintrag, Windows Server Container und Docker I   
    Einleitung
    Die grundlegende Frage gleich vornweg: Warum sollte man Docker auf einem Windows Server betreiben?
    Nunja, weil man es kann. Außerdem besteht die Infrastruktur bei den meisten unserer Kunden aus MS SQL-Server und Windows Servern auf denen unsere Software installiert wird. Hier könnte man nun argumentieren, dass unsere Software "nur" PHP und Apache benötigt und das zusammen mit PostGreSQL oder ORACLE durchaus auf Linux laufen könnte. Ja, ist richtig, wir möchten aber nicht auch noch irgendwelche Linux Installationen bei unseren Kunden pflegen.
    Sucht man, naiv wie man ist, einfach mal nach "docker windows", landet man früher oder später bei "Docker CE for Window". Hat man das installiert und den ersten Container gestartet, wird einem auffallen das die Container nicht beim Booten starten. Da ist auch nichts falsch konfiguriert, das soll so sein. Dafür gibt es sicherlich Gründe. Diese Version ist für Entwickler gedacht, die Docker auf ihrem Windows 10 PC betreiben wollen. Wollen wir aber gar nicht …
    Installation
    Also installieren wir mal das richtige
    PS> Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force PS> Install-Module -Name DockerMsftProvider -Force PS> Install-Package -Name docker -ProviderName DockerMsftProvider -Force Danach möchte der Server einmal neu starten und wir können mit docker version schauen ob das funktioniert hat.
    PS C:\> docker version Client: Version: 18.09.0 API version: 1.39 Go version: go1.10.3 Git commit: 33a45cd0a2 Built: unknown-buildtime OS/Arch: windows/amd64 Experimental: false Server: Engine: Version: 18.09.0 API version: 1.39 (minimum version 1.24) Go version: go1.10.3 Git commit: 33a45cd0a2 Built: 11/07/2018 00:24:12 OS/Arch: windows/amd64 Experimental: true An der Stelle konfigurieren wir den Dienst erstmal ein wenig. Das kann man prinzipiell auch über eine json-Datei erledigen. Anleitungen dazu findet man genug. Man kann die Parameter aber auch direkt dem Dienst übergeben.
    PS E:\> Stop-Service Docker PS E:\> Remove-Service Docker PS E:\> New-Service -Name Docker -DisplayName "Docker Engine" -StartupType Boot -BinaryPathName "C:\Program Files\Docker\dockerd.exe --run-service -H npipe:// -H 0.0.0.0:2375 --data-root=E:\docker --experimental" PS E:\> Start-Service Docker Für Remove-Service benötigt man allerdings PowerShell Version 6. Die gibt es zwar seit August 2018, ist dennoch nicht im Server 2019 enthalten. Nach dem Neustart des Dienstes legt Docker nun seine benötigte Verzeichnisstruktur unter E:\docker an. Und durch –experimental können wir später –plattform=linux nutzen.
    Nun ist es endlich soweit, wir holen unser erstes Image. Normalerweise würde man das einfach mit
    PS> docker pull microsoft/nanoserver erledigen. Das funktioniert zwar, aber ...
    Das was man dann bekommt ist ein Server 2016 SAC Image. Was per se zwar nicht verkehrt ist, aber im ersten Moment auf einem Server 2019 nicht funktioniert. Hier müsste man dem docker run noch ein --isolation=hyperv mitgeben oder man holt ein neues Image. Für Images die zum Server 2019 passen benötigt man spezifische Tags und kann sich nicht auf den Standard :latest verlassen. Images vom Nanoserver und Windows Server Core holen wir mit.
    PS> docker pull mcr.microsoft.com/windows/nanoserver:1809 PS> docker pull mcr.microsoft.com/windows/servercore:ltsc2019 Anschließend verpassen wir den Images noch neue Tags
    PS> docker image tag mcr.microsoft.com/windows/nanoserver:1809 nanoserver:1809 An dieser Stelle können wir auch schon mal einen Container mit einem der Images starten.
    PS> docker run -it --name testdings microsoft/nanoserver powershell Damit bekommen wir eine PowerShell Instanz in dem laufenden Container und können Dinge tun. Updates installieren, wäre eines dieser Dinge. Das erledigt man normalerweise mit sconfig auf der geöffneten PowerShell.
    In den nächsten Teilen bereiten wir die Build-Umgebung vor, basteln uns ein Dockerfile und bewundern das Ergebnis
  3. Danke
    Griller reagierte auf Tician für ein Blogeintrag, Hardware-RAIDs   
    Hallöööchen mit 3 öchen,
    und willkommen zurück zum Azubi-Wissen - wie immer versucht in relativ einfachen Worten zu erklären
    jetzt geht alles um Hardware-RAIDs (Redundant Array of Independent Disks). Ein RAID ist ein Zusammenschluss von 2 oder mehr Festplatten mit dem Ziel bei einem Ausfall einer Platte (gerade in Server-Umgebungen) nicht gleich einen Totalausfall zu haben.
    Was wird dazu benötigt?
    Ein Hardware-RAID lässt sich nicht einfach so in jedem System erstellen. Selbst wenn ich mir 2 Festplatten an den privaten PC hänge habe ich normalerweise keine Möglichkeit daraus einen Hardware-RAID zu machen - ein Software-RAID dagegen wird mittlerweile von vielen Chipsätzen unterstützt, dabei wird allerdings die Prozessorleistung beansprucht und auch die internen Bussysteme deutlich mehr belastet. Für unseren Hardware-RAID braucht es einen sogenannten RAID-Controller.
    Statt also die Festplatten direkt mit dem Mainboard zu verbinden, werden sie direkt (oder indirekt mit Zwischenschritt) mit einem Controller verbunden. Der Controller bringt meist eine BIOS-ähnliche Möglichkeit beim Starten des PCs in ein Menü zu gelangen in dem der RAID dann konfiguriert werden kann.
    Aber jetzt an das EIngemachte. Welche RAIDs gibt es?
    Ich sage dem PC nicht "Ich will einen RAID" und klicke "weiter", "weiter", "weiter", "Fertig". Naja fast nicht. Als IT-ler müssen wir uns überlegen welche Art von RAID wir haben wollen, davon gibt es nämlich ein paar - und die haben Nummern, sie werden auch tatsächlich im Sprachgebrauch so benannt.
    RAID 0
    Striping. RAID 0 ist tatsächlich ein Sonderfall und viele behaupten, dass sich diese Nummer nicht als RAID schimpfen kann - es hat nämlich nichts mit Redundanz (= Ausfallsicherheit) zu tun. Es ist sogar das Gegenteil der Fall, aber schauen wir uns mal an was es überhaupt macht.
    Nehmen wir mal an wir haben 2 Menschen (das sind unsere Platten^^), der ein schreibt "Hallo Welt" auf einen Zettel und braucht dafür 2 Sekunden. Verbinden wir unsere Menschen (Platten) jetzt, sagen wir dem einen er soll "Hallo" schreiben, während der andere gleichzeitig einfach nur "Welt" schreibt. Es dauert 1 Sekunden bis "Hallo Welt" auf dem Papier steht, wir waren also schneller.
    Bei diesem RAID werden Daten also gleichzeitig auf die verschiedenen Platten verteilt (Blockweise), wir bekommen also einen Performance-Boost und haben mehr Speicherplatz zum beschreiben. Der Nachteil natürlich: Wenn eine Platte ausfällt sind unsere Daten weg, PC ist nicht mehr bootbar (ähnlich wie wenn man bei der Programmierung einfach mal die Hälfte aller Buchstaben löscht, dann bleibt nur noch etwas stehen das das System nicht versteht). Dadurch, dass wir auch nicht eine Festplatte haben sondern 2 ist die Ausfallrate höher. Oder in einer anderen Dimension gesprochen: Wenn wir darauf warten, dass 1 Festplatte ausfällt können Jahre vergehen, aber wenn man 1000 Festplatten hat ist die Chance groß, dass hier und da mal welche ausfallen. Also je mehr Platten, desto höher die Ausfallrate.
    RAID 1
    Mirroring. Jetzt kommen wir zum ersten 'echten' RAID - und der ist sogar noch recht einfach erklärt. Die Platten sind gespiegelt, heißt was auf die eine geschrieben wird, wird gleichzeitig auch auf die andere geschrieben - keine unterschiedlichen Daten wie beim RAID 0, sondern dieselben Daten. Würde wir unseren Menschen also hier auftragen "Hallo Welt" zu schreiben würden beide "Hallo Welt" auf ihren zettel schreiben.
    Vielleicht kann man das auch ohne einen RAID machen, indem man einfach eine Festplatte klont, aber hier kommt der Controller zum EInsatz: Lässt sich eine Platte nicht mehr lesen oder fällt aus (oder jemand ist so mutig und zieht eine Platte mitten im Betrieb raus - einmal gemacht, aber ich würde es natürlich nicht empfehlen), wird automatisch die andere angesprochen, es entsteht kein Ausfall. Steckt man dann eine neue Festplatte an wird der RAID 'im Hintergrund' neu aufgebaut. Nachteil ist, dass uns weniger Speicherplatz zur Verfügung steht. Wir können nur den Speicherplatz einer Platte benutzen - die andere ist schließlich nur als "Klon" da, wir können keine extra Daten auf sie schreiben.
    Achja, logisch ergibt sich, dass beide Festplatten hier dieselbe größe haben sollten, sonst gibt es entweder Fehler oder wir verschenken Speicherplatz.
    RAID 5
    Block-Level Striping mit verteilter Paritätsinformation. Wer hat sich solche Wörter nur ausgedacht? Respekt an diejenigen die den Wikipedia-Eintrag verstehen. Tatsächlich ist RAID 5 komplizierter als die anderen beiden. Wir sind auch nicht mehr bei 'mindestens 2 Festplatten', sondern hier brauchen wir mindestens 3 - oft sind es aber 5 Festplatten die man hier verwendet.
    Ich erkläre es erst einfach, um es verständlich zu machen, dann mit etwas mehr Fachbegriffen.
    Also: nehmen wir an wir haben diesmal unsere 3 Menschen (Platten), aber zum Verständnis lassen wir sie diesmal Zahlen schreiben. Einer schreibt eine "1" auf seinen zettel, der nächste eine "2" und der dritte - wer hätte es gedacht - eine "3". Vorneweg: Wir haben unsere Daten wieder blockweise verteilt, haben also den Vorteil von RAID 0, dass wir mehr Geschwindigkeit sowohl beim Schreiben als auch beim Lesen haben. Allerdings werden unsere Daten nicht auf alle Festplatten aufgeteilt, sondern es wird eine frei gelassen. Wir wollten nie eine "3" schreiben, aber unser RAID macht das automatisch - das muss es auch. Ich wollte das ähnlich einer Rechenaufgabe aufbauen: 1 + 2 = 3. Fällt eine Festplatte nun aus hätten wir zum Beispiel 1 + x = 3 (x ist unsere ausgefallene Platte) - unser RAID kann die fehlenden Daten während der Laufzeit errechnen, es braucht die Platte nicht. Allerdings sollten wir sie trotzdem ersetzen, denn jetzt büßen wir massiv an Performance ein, unser PC rechnet sich zu tode - aber er funktioniert. Wir erleiden trotzdem einen kleinen Verlust an Kapazität.
    Gehen wir nochmal genauer darauf ein: Die Daten die wir auf unsere Platten schreiben wollen werden auf alle Platten bis auf eine verteilt. Erst wenn diese geschrieben wurden ließt unser Controller die Daten aus und auf die übrige Platte wird dann die sogenannte Parität geschrieben - eine XOR-Veknüpfung der Daten die berechnet wird. Wichtig zu wissen: Diese Parität wird nicht immer auf dieselbe Platte geschrieben sondern es 'rotiert', wird also mit jedem neuen Block auf eine andere Platte geschrieben
    RAID 6
    Ist eher unbekannt, wird aber minimum in Baden Württemberg als Prüfungswissen vorrausgesetzt. Raid 6 wird eher seltener eingesetzt, meist von Systemen die super-mega-ultra-wichtig sind und unter keinen Umständen ausfallen dürfen. Der größte Vorteil ist, das nicht nur 1 sondern gleich 2 Festplatten gleichzeitig ausfallen dürfen ohne das System lahm zu legen. Minimum brauchen wir hier 4 Festplatten - 2 für unsere Daten und 2 die wir bei RAID 5 eine Parität schreiben. Wir haben also ein RAID 5, der einzige unterschied ist wir haben noch eine Parität. Und dadurch das wir hier wieder einen Bereich weg nehmen haben wir natürlich noch weniger frei verfügbaren Speicher als bei einem RAID 5. Wird ein RAID 6 aufgrund der Ausfallsicherheit eingesetzt wird oft dazu geraten Festplatten unterschiedlicher Hersteller oder Produktions-Daten zu nehmen um das Risiko von 2 gleichzeitig ausfallenden Festplatten weiter zu verrigern.
    RAID 10

    ( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411865 )
    Es wird wieder einfach. RAID 10 hat seinen Namen nicht einfach irgendwo her, es ist eine Kombination aus RAID 1 und RAID 0. Heißt wir nutzen jeweils immer 2 Platten im RAID 1 UND diese entstandenen RAIDs werden nochmal mit einem RAID 0 überbügelt. Dadurch haben wir sowohl eine Ausfallsicherheit, als auch eine höhere Geschwindigkeit. Aber: Es ist teuer. 4 Festplatten wovon ich nur die Hälfte an Speicher habe... lohnt sich eher selten.
    Wichtig ist hier: Man braucht immer eine gerade anzahl Festplatten (mindestens 4, vorrausgesetzt keiner geht davon aus, dass 2 Festplatten zur exakt gleichen Zeit ausfallen), weil man auf der unteren Ebene ja immer erst 2 Platten spiegelt.
    RAID 01

    ( Von Wheart, based on image File:RAID 0.svg by Cburnett - Eigenes Werk, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=6411849 )
    Man kann es vielleicht schon vermuten... hier werden die Platen erst in mehrere RAID 0's aufgeteilt und dann wird ein RAID 1 drüber gebügelt. Manch einer stellt sich nun die Frage: Was ist der Unterschied zu RAID 10? Anhand des Bildes lässt sich kaum ein unterschied feststellen und egal wie man es dreht, man hat RAID 0 und 1 und beide Vorteile davon.
    Der Unterschied wird sichtbar wenn wir die Anzahl der Platten verändern. Für ein RAID 10 brauchen wir nämlich mindestens 4 Festplatten (wie gesagt wir spiegeln sie ja auf der unteren Ebene erst), bei einem RAID 01 brauchen wir minimum... 3! Und anders als bei einem Raid 10 kann es hier schon Sinn machen die Raid 0 auf unterster Ebene auch mal mit 3 oder mehr Festplatten zu machen - aus Performancegründen.

    ( Von RAID_1.svg: en:User:C burnettderivative work: Nmoas (talk) - RAID_1.svg, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=11995780 )
    Allerdings sind 3 Festplatten jetzt eine Ausnahme, ähnlich wie beim RAID 5 werden die Platten zusammengefügt und die Blöcke durchnummeriert. Jede ungerade Nummer bekommt Daten, jede gerade Block-Nummer nur eine Kopie des Blocks davor - alles wieder rotierend auf die Platten verteilt.
    Sonstige Es gibt noch mehr RAIDs die aber eher unbekannt sind und selten vorkommen. Da diese im Praxisgebrauch Ausnahmen bilden gehe ich hier nicht weiter auf sie ein.
     
    Die Berechnung des verfügbaren Speichers
    Nehmen wir an wir haben 3 Festplatten mit jeweils 1TB:
    RAID 0 ist einfach. Beim RAID 0 können wir alle 3 Platten benutzen, wir schreiben und lesen auf allen 3 gleichzeitig, haben nichts doppelt, können also die vollen 3 TB ausnutzen. Wir zählen also einfach alle 3 Platten zusammen.
    RAID 1 ist ebenfalls einfach, allerdings macht es hier keinen Sinn 3 Platten als Beispiel zu haben (das würde jemand tun der davon ausgeht das 2 Platten zur exakt gleichen Zeit ausfallen). Nehmen wir also an wir haben 2. Wir spiegeln die Platten, haben also nur die Hälfte des Gesamtspeichers zur Verfügung - also nur die Kapazität einer Platte.
    RAID 5 ist auch nicht sooo schwer. Mit ein wenig Hintergrundwissen und logischem Denken kriegen wir das hin. Was wir hier wissen müssen: Die Datenblöcke und die Parität haben immer dieselbe Größe. Ob ich nun (bei 5 Platten) meine Daten auf 4 verteile und die Parität auf die 5te Platte setze, oder ob ich (bei 3 Platten) meine Daten auf 2 verteile und die 3. Platte die Parität bekommt. Also trotz das die Parität immer auf einem anderen Laufwerk liegt können wir damit rechnen, dass wir immer 1 Platte als Speicherplatz für die Paritäten bei der Berechnung der Speicher-Kapaität abziehen müssen. Bei unseren 3 Festplatten macht das 2 TB, bei 5 Platten wären es 4TB. Besonders ist hier das wir prozentual mehr Speicher zur Verfügung haben, je mehr festplatten wir benutzen. Bei 3 Platten haben wir 66% Speicher frei zur Verfügung (2 von 3). Bei 4 sind es 75% (3 von 4) und bei 5 Festplatten 80% (4 von 5),...
    RAID 6 ist nachdem wir uns mit RAID 5 herumgeschlagen haben wieder ähnlich. Statt immer 1 Festplatte mit Parität haben wir hier immer 2 Festplattend ie Paritäten beinhalten und uns dementsprechend nicht zur Speicherung der eigentlichen Daten zur Verfügung stehen. Also immer (Anzahl Festplatten - 2). Auch hier wieder: Je mehr Festplatten desto lohnenswerter ist der zur Verfügung stehende Speicherplatz.
    RAID 10/01 sind ebenfalls einfach. Egal wieviele Platten wir haben, wir haben immer die Hälfte vom Gesamtspeicher - wir kopieren unsere Daten ja wieder.
     
    Schlussendlich gibt es nur noch eine Anmerkung: Viele Server bieten ein sogenanntes Hot-Spare-Laufwerk. Zusätzlich zu den Platten die ihr für euer RAID braucht (für welches auch immer ihr euch entscheidet) wird hier noch eine Platte angeschlossen. Die macht erstmal gar nichts, sie hängt da halt, ganz ohne Daten.
    Richtig konfiguriert sollte der Controller sobald eine Festplatte ausfällt sämtliche Daten der defekten Platte auf die spare(="ungenutzt")-Platte schreiben (deswegen haben wir ja einen RAID, die Daten lassen sich rekonstruieren, selbst wenn die ausgefallene Platte absolut kein lebenszeichen mehr von sich gibt). Fällt in dieser Zeit der 'rekonstruktion' eine der anderen Platten aus sind die Daten weg! (Ausnahme RAID 6) Hat man keine Spare-Platte muss man schnell handeln. Wird man darauf aufmerksam gemacht das eine Festplatte ausgefallen ist kann man diese entfernen (das geht meist auch im laufenden Betrieb) und eine neue Platte in den Server schieben, der Vorgang zur Rekonstruktion sollte automatisch erfolgen.
     
    Fragen, Anregungen oder Ergänzungen? Immer her damit.
     
  4. Like
    Griller reagierte auf Jens_Mander für ein Blogeintrag, Powershell - Teil 2   
    Es gibt wohl zwei Dinge beim Skripten die gerade am Anfang sehr stiefmütterlich behandelt werden.
    Dokumentation Versionierung Dies liegt vor allem daran, dass man am Anfang des Skriptens viel Spaß am Experimentieren hat und bestimmt auch viel im Code springt oder ein paar Skripte parallel schreibt. Da kommt einem am Anfang gar nicht der Gedanke, dass man ja doch recht häufig speichert, aber immer unter dem gleichen Dateinamen. Vielleicht ab und zu mal eine -test oder eine-2 dranhängt. Aber mit einer ordentlichen Versionierung hat das eher nichts zu tun.

    Dokumentation/Kommentierung

    Bei mir hat sich bewährt, dass ich am Anfang eines Skriptes erst einmal als Kommentar das Ziel des Skriptes definiere. Dieser kann sich ja immer wieder verändern, aber später spart man sich auch diese Arbeit, wenn man das Skript einmal in andere Hände geben möchte, denn dann gehört so ein Text einfach dazu.
    Wenn ihr Funktionen schreibt, dann sollten folgende Punkte aufgeführt sein:
    SYNOPSIS Hier sollte in 1-2 Sätzen die Bestimmung der Funktion stehen DESCRIPTION Eine ausführlichere Beschreibung was diese Funktion macht PARAMETER param1 Beschreibung des param1 PARAMETER param2 Beschreibung des param2 Notes Zusätzliche Notizen LINK Zugehörige URLs Die erste URL wird aufgerufen wenn das CDMlet Get-Help -Online <Funktionsname> aufgerufen wird INPUTS Typen der Datenübergabe die erlaubt sind OUTPUTS Typen der Datenausgabe die von dieser Funktion ausgegeben werden können Funktionen benennen
    Bei der Wahl des Funktionsnamens sollte man sich an die offizielle Nomenklatur halten. Das bedeutet, dass der Name mit einem Verb und einem Substantiv durch ein "-" getrennt aufgebaut sein sollte. Get-Verb gibt euch eine offizielle Liste der Verben und in welchem Kontext diese stehen.
    Wenn ihr allerdings eine Funktion nur für euch schreibt die nur lokal eingesetzt wird, schreibt vor den Funktionsnamen "private:" oder „script:“
    Versionierung
    Beim Versionieren habe ich früher bei größeren Änderungen einfach den Versionszähler hochgesetzt und nebenbei eine Liste der Änderungen in einem Onenote Dokument gepflegt.
    Ihr könnt natürlich auch die Änderungen in einem Textdokument oder direkt im Skript kommentieren.
    Auch hier bieten die ISESteroids wieder eine sehr komfortable Lösung des Versionierens.
     

    Der Pfeil im Bild zeigt euch, wie ihr den Reiter der Versionierung aufrufen könnt. Auf der rechten Seite seht ihr Die File Version History. Links ein Button „Ad New Version“ und auf der rechten Seite eine Checkbox „Auto Mode“. Wenn bei Auto Mode der Haken gesetzt ist, wird automatisch eine neue Version angelegt sobald man Änderungen durchgeführt hat und darauf folgend speichert.
    In dem Reiter der einzelnen Versionen seht ihr links eine Klassifikationsmöglichkeit, wie zum Beispiel Stable, Alpha Release und weitere. Über den Knopf Compare öffnet sich das Programm WinMerge und zeigt die Veränderungen zur Vorgängerversion. Hier nutze ich den Button Notes um, wie der Name schon sagt, mir Notizen zu den Versionsunterschieden zu kommentieren.
     
    Falls ihr noch Anregungen, Fragen oder Hinweise habt, gerne her damit.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...