Database
 sql >> Baza danych >  >> RDS >> Database

Pakiet hostingowy na Chocolatey

W tym artykule przyjrzymy się pokrótce kluczowym etapom tworzenia pakietu Chocolatey.

Wymagania wstępne

Zanim zaczniesz tworzyć pakiet czekoladek, upewnij się, że musisz:

  • zainstalować Chocolatey;
  • przeczytaj Czym są Opakowania Czekoladowe? sekcja dokumentacji Chocolatey;
  • wiedzieć, jak działa pakiet. W szczególności zdajesz sobie sprawę, że:

    • pakiet zawiera *.nuspe c plik. To definiuje pakiet. (Dokumenty);
    • pakiet może zawierać oprogramowanie wbudowane;
    • pakiet może zawierać skrypt instalacyjny.

Pakiet czekoladek składa się z następujących głównych elementów:

  1. *.nuspec plik. Ten krok jest obowiązkowy.
  2. czekoladowyInstall.ps1 plik.
  3. Wszelkie pliki aplikacji do uwzględnienia (w tym przypadku zdecydowanie zaleca się, abyś był autorem lub masz prawo do dystrybucji plików). *.exe pliki w pakiecie/pobrane do folderu pakietu z chocolateyInstall.ps1 będą miały link do wiersza poleceń.
  4. chocolateyUninstall.ps1 do odinstalowania twojego pakietu.

Polecam rzucić okiem na film pokazujący tworzenie pakietu. Należy pamiętać, że film zawiera nieco przestarzałą zawartość pliku chocolateyInstall.ps1 . W tej chwili chocolateyInstall.ps1 wygląda następująco:

$packageName = 'windirstat
$fileType = 'exe'
$url = 'http://prdownloads.sourceforge.net/windirstat/windirstat1_1_2_setup.exe'
$silentArgs = '/S'

Install-ChocolateyPackage $packageName $fileType $silentArgs $url

Okna czekoladowe Menedżer pakietów korzysta z tej samej infrastruktury co NuGet, czyli Visual Studio menedżer pakietów. Dlatego pakiety opierają się na tych samych zasadach, w tym na tej, która mówi, że opis pakietu (specyfikacja) musi być przechowywany w formacie XML, znanym jako Nuspec.

*.nuspec plik zawiera takie podstawowe informacje, jak wersja, licencja, opiekun i zależności pakietów. Chocolatey zawiera dodatkowe opcjonalne funkcje na samym szczycie NuGet *.nuspec plik. Dlatego najlepszym sposobem określenia aktualnie obsługiwanych funkcji jest utworzenie pakietu testowego i przyjrzenie się wygenerowanemu plikowi *.nuspec:

choco new testpackage

Uwaga: Jeśli twój pakiet używa ostatnio wprowadzonej funkcjonalności, możesz chcieć dołączyć zależność wskazującą najniższą wersję Chocolatey, która obsługuje wymaganą funkcjonalność. W przeciwnym razie instalacja może się nie powieść w przypadku użytkowników, którzy mają zainstalowaną starszą wersję Chocolatey.

Możesz wskazać zależność Chocolatey jak każdą inną zależność, np.:

<dependencies> 
<dependency id="chocolatey" version="0.9.8.21" /> 
</dependencies>

Przewodnik szybkiego startu

  1. Wygeneruj nowy pakiet :
    • choco new -h polecenie pomoże Ci ustawić opcje pakietu.
    • Po ustaleniu wszystkich opcji możesz przystąpić do generowania szablonu.
  2. Odpowiednio edytuj szablon :
    • cd package-name
    • Edytuj package-name. plik konfiguracyjny nuspec.
    • Edytuj ./tools/chocolateyInstall.ps1 zainstaluj skrypt.
      • Upewnij się, że skonfigurowałeś tryb cichy instalatora. Użyj Universal Silent Switch Finder, który jest dostępny jako pakiet Choco:choco install ussf.
      • Musisz zapisać swoje pliki z kodowaniem znaków UTF-8 bez BOM.
  3. Zbuduj pakiet :
    • Nadal w katalogu pakietów.
    • choco pack
      • "Pomyślnie utworzono nazwa-pakietu 1.1.0.nupkg".
  4. Przetestuj pakiet :
    • Testowanie powinno być wykonywane na maszynie wirtualnej.
    • W katalogu pakietów użyj:
      • choco install package-name -s
        package-name jest elementem id w nuspec
  5. Dociśnij paczkę do repozytorium pakietów społeczności Chocolatey:
    • Załóż konto Chocolatey:
      • Zarejestruj się.
    • Skopiuj klucz API ze swojego konta Chocolatey.
    • choco apikey -k [API_KEY_HERE] -source https://push.chocolatey.org/
    • choco push package-name.1.1.0.nupkg -s https://push.chocolatey.org/*.nupkg plik może zostać pominięty, jeśli jest jedynym w katalogu.

Przykłady

Oto kilka prostych przykładów.

Uwaga :Podane przykłady mogą wymagać aktualizacji sum kontrolnych i nowszych koncepcji pakietów. Uruchom choco new podczas tworzenia pakietów, ponieważ zawiera najbardziej aktualne notatki.

chocolateyInstall.ps1 dla instalatora .exe

$name = 'Package Name'
$installerType = 'exe'
$url  = 'http://path/to/download/installer.exe'
$silentArgs = '/VERYSILENT'

Install-ChocolateyPackage $name $installerType $silentArgs $url

Uwaga :Musisz ustawić przełącznik wiersza poleceń, aby instalator był cichy, np. ./VERYSILENT Nazwa przełącznika różni się w zależności od instalatora.

chocolateyInstall.ps1 dla instalatora .msi

UWAGA :Musisz zachować kompatybilność z Posh v2. Nie każdy obsługiwany system operacyjny jest na Posh v2 (ani OOB z Posh v3+). Najlepszą praktyką jest praca z największą kompatybilnością dostępnych systemów.

$packageName = 'Package Name'
$installerType = 'msi'
$url = 'http://path/to/download/installer_x86.msi'
$url64 = 'http://path/to/download/installer_x64.msi'
$silentArgs = '/quiet'
$validExitCodes = @(0,3010)

Install-ChocolateyPackage $packageName $installerType $silentArgs $url $url64  -validExitCodes $validExitCodes

Testowanie pakietu

Uwaga 1 :Zdecydowanie polecam przeprowadzanie testów na maszynie wirtualnej, a nie na działającej maszynie.

Uwaga 2 :Testowanie pakietu można wykonać w taki sam sposób jak weryfikatora. Spójrz na testowanie weryfikatora czekolady.

Aby przetestować nowo zbudowany pakiet, otwórz powłokę wiersza poleceń i przejdź do katalogu, w którym *.nupkg plik jest zlokalizowany. Następnie wpisz:

choco install packageName -dv -s .

To polecenie zainstaluje pakiet bezpośrednio z twojego źródła. Jeśli znajdziesz rzeczy, które musisz naprawić, użyj --force (-f) aby usunąć i ponownie zainstalować pakiet ze zaktualizowanego pliku *.nupkg . Jeśli konkretnie testujesz chocolateyBeforeModify.ps1 , musisz przetestować scenariusze uaktualniania i odinstalowywania. Musisz najpierw zainstalować wersję pakietu z tym plikiem, ponieważ podobne t0 odinstalować, przed modyfikacją działa z zainstalowanego pakietu, a nie z pakietu, który instalujesz (np. chocolateyInstall.ps1 tak).

Uwaga 1 :Force --force (-f) powinien być używany tylko podczas kolejnych testów, gdy ponownie instalujesz ten sam pakiet, który zmieniłeś i nie powinien być używane w normalnych scenariuszach użytkowania. Zdecydowanie nie powinno być w skryptach.

Uwaga 2 :Jeśli używasz myślnika Semver w swojej wersji pakietu (np. 1.0.0-beta ), musisz użyć -pre przełącznik. W przeciwnym razie otrzymasz komunikat „Nie można znaleźć pakietu Błędy z instalacji choco. Możesz także określić -version 1.0.0-beta aby zainstalować dokładną wersję.

Znak kropki wskazuje na bieżący katalog. Możesz określić wiele katalogów oddzielonych średnikiem.

Wypchnij swój pakiet

Aby wypchnąć pakiet po jego zbudowaniu i przetestowaniu, wpisz następujące polecenie:

choco push packageName.nupkg -s sourceLocation

Gdzie:

  • packageName.nupkg to nazwa nupkg, który został zbudowany z numerem wersji jako częścią nazwy pakietu;
  • sourceLocation to lokalizacja źródła, do którego chcesz wysłać plik (np. -s https://chocolatey.org/ dla kanału społeczności Chocolatey).

Musisz mieć klucz API dla zestawu https://chocolatey.org/. Spójrz na choco push.

Możesz także zalogować się na chocolatey.org i przesłać stamtąd swój pakiet (niezalecane w przypadku pakietów powyżej 2 MB).

Referencje

Możesz skorzystać z następujących zasobów, aby dowiedzieć się więcej o tworzeniu i dystrybucji pakietu Chocolatey:

  • https://chocolatey.org/docs/create-packages
  • https://github.com/chocolatey-community/chocolatey-test-environm Czekolada ent

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Łączenie AnySQL Maestro z Salesforce.com

  2. Odczytany, niezatwierdzony poziom izolacji

  3. Tabela rozwiązywania problemów Nie znaleziono błędów

  4. Podobieństwa i różnice między funkcjami RANK, DENSE_RANK i ROW_NUMBER

  5. Halloweenowy problem – część 4