Heute mal eine einfache Sache, falls man sie Klever einsetzt, eine Menge Arbeit abnehmen kann. Die Rede ist vom guten alten Shell-Script.
Wer ständig die gleichen Befehle absetzen muss, der kann sich doch automatisieren. Ich zum Beispiel nutze Shell Script für das Deployment Prozess. Also den fertigen Code von der Entwicklungsumgebung in die Produktionsumgebung zu schieben.
Fange wir an. Wir möchten ein Script erstellen, dass uns in einem Git Repository alle Änderungen verfolgt, commitet und in unser Remote Repository pusht.
Dafür brauchen wir erst einmal ein Shell Script bzw. Bash Script. Ein Bash Script hat die Dateiendung .sh.
In unserer Konsole geben wir also ein:
touch mypusher.sh
Dann öffnen wir unsere Datei und schreiben die Commands nieder die wir sonst in unserer Console hacken.
#!/bin/bash
echo -e "Deployment Process..."
# start the git deployment
git add .
git commit -m "Updates"
git push
#!/bin/bash – Was issn dit?
Jedes Shell Script fängt in der ersten Zeilemit dem sogenannten Shebang an. Diese Zeile sagt einfach nur mit welchem Kommandointerpreter bzw. welcher Shell das Script gelesen und ausgewertet werden soll. Statt #!/bin/bash kann man hier nun auch #!/bin/sh schreiben. Das führt dann dazu, dass das Script auch von BSD Systemen (Apple OS) gelesen werden kann.
Eine Besonderheit ist die Route. Grundsätzlich wird mit der Route in Shellscripten kommentiert. Eine Ausnahme gibt es nur in der ersten Zeile. In anderen Zeilen wäre das ein Kommentar:
# Hier kommt Kurt
So wird sind auch fast fertig. Nun speichern wir unsere Datei und gehen über zum letzten Schritt.
Mache die Datei „executable“
Ein Shell script muss ausführbar / executable sein. Dafür benötigt es besondere Rechte. Wir geben also nun in unserer Kommandzeile noch folgendes ein:
chmod u+x mypusher.sh
Und nun testen wir es mal. Allerdings nicht mit den Anweisungen von oben. Den dafür bräuchtet ihr ja noch ein entferntes Repository bei Github oder Bitbucket. Also ändern wir es mal kurz um:
#!/bin/bash
echo -e "Kleine Git Automatisierung..."
mkdir gitTestAuto
cd gitTestAuto
touch index.html
git init && git add . && git commit -m"Init Commit"
git status
touch app.js
git status
echo -e"Chiao"
Um das Script nun zu starten, geben wir über die Kommandozeile ein:
./mypusher.sh
A viola! Ich hoffe im groben merkt ihr, wozu so ein Shellscript alles helfen kann. Das hier ist die einfachste Variante. Wir können in Shellscripten mit Variablen, Parametern arbeiten. Wie einleitend bereits erwähnt. Es kann uns eine Menge arbeit abnehmen und wir können mehr Zeit in DevOp Themen investieren um beim nächsten Gespräch mit einem DevOp nicht ganz wie ein Trottel dazustehen.