Toolverse
Wszystkie skille

bash-pro

autor: sickn33

Defensywne skrypty Bash dla automatyzacji i CI/CD – bezpiecznie i przenośnie

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
sickn33
Kategoria
DevOps

O skillu

Umiejętność do pisania i recenzji skryptów Bash na poziomie produkcyjnym. Nauczy Cię defensywnego podejścia do programowania w shell'u – od ścisłego trybu błędów i bezpiecznego parsowania argumentów, przez obsługę plików tymczasowych, aż po testowanie z Bats i statyczną analizę ShellCheck. Idealna dla automatyzacji, potoków CI/CD i narzędzi systemowych, gdzie bezpieczeństwo i przenośność są kluczowe.

Jak używać

  1. Zdefiniuj wejścia, wyjścia i scenariusze awarii skryptu – jasno określ, co skrypt powinien robić i jak ma się zachowywać w przypadku błędów.

  2. Zastosuj tryb ścisły, dodając na początku skryptu set -Eeuo pipefail i ustaw pułapkę na błędy za pomocą trap. Wszystkie rozwinięcia zmiennych ujmij w cudzysłowy, aby uniknąć podziału słów i niebezpiecznych rozszerzeń globu.

  3. Implementuj logikę jądra ze wzorcami defensywnymi – używaj [[ ]] dla warunków Bash'a, preferuj tablice zamiast niebezpiecznych wzorców jak for f in $(ls), a do plików tymczasowych użyj mktemp z czyszczeniem przez trap.

  4. Dodaj kompleksowe parsowanie argumentów za pomocą getopts i funkcji użytkownika, traktując wszystkie dane wejściowe jako niezaufane – unikaj eval i niebezpiecznego globu.

  5. Przetestuj skrypt za pomocą frameworku Bats, aby pokryć przypadki normalne i błędne. Uruchom statyczną analizę z ShellCheck i formatowanie shfmt, aby upewnić się, że kod jest czysty i przenośny.

  6. Zintegruj skrypt z potokiem CI/CD, implementując produkcyjne logowanie i raportowanie błędów – zawsze oferuj tryb dry-run przed akcjami destrukcyjnymi.

Podobne skille