Database
 sql >> база данни >  >> RDS >> Database

Хостинг пакет на Chocolatey

В тази статия ще разгледаме накратко ключовите етапи от създаването на пакети Chocolatey.

Предварителни условия

Преди да започнете със създаването на шоколадов пакет, уверете се, че трябва:

  • да има инсталиран Chocolatey;
  • прочетете Какво представляват шоколадовите пакети? раздел от документацията на Chocolatey;
  • знайте как работи пакетът. По-конкретно, знаете, че:

    • пакетът съдържа *.nuspe c файл. Това дефинира пакета. (Документи);
    • пакет може да съдържа вграден софтуер;
    • пакет може да съдържа инсталационен скрипт.

Шоколадовата опаковка се състои от следните основни елементи:

  1. А *.nuspec файл. Тази стъпка е задължителна.
  2. chocolateyInstall.ps1 файл.
  3. Всички файлове на приложения за включване (силно препоръчително е вие ​​да сте авторът в този случай или да имате право да разпространявате файлове). *.exe файловете в пакета/изтеглени в папката на пакета от chocolateyInstall.ps1 ще имат връзка към командния ред.
  4. chocolateyUninstall.ps1 за деинсталиране на вашия пакет.

Препоръчвам ви да разгледате видеото, показващо създаването на пакета. Моля, имайте предвид, че видеоклипът включва малко остаряло съдържание на chocolateyInstall.ps1 . В моментаchocolateyInstall.ps1 изглежда по следния начин:

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

Install-ChocolateyPackage $packageName $fileType $silentArgs $url

Chocolatey Windows мениджърът на пакети използва същата инфраструктура като NuGet, тоест Visual Studio пакетен мениджър. Следователно пакетите се основават на едни и същи принципи, включително този, който гласи, че описанието (спецификацията) на пакета трябва да се съхранява в XML формат, известен като Nuspec.

*.nuspec Файлът съдържа такава основна информация като зависимости от версията, лиценза, поддръжката и пакета. Chocolatey включва допълнителна незадължителна функционалност в самия връх на NuGet *.nuspec файл. По този начин най-добрият начин да определите поддържаните в момента функции е да създадете тестов пакет и да разгледате генерирания файл *.nuspec:

choco new testpackage

Забележка: Ако вашият пакет използва наскоро въведената функционалност, може да искате да включите зависимост, указваща най-ниската Chocolatey версия, която поддържа необходимата функционалност. В противен случай инсталацията може да се провали за потребителите, които имат инсталирана по-стара версия на Chocolatey.

Можете да посочите зависимостта Chocolatey като всяка друга зависимост, напр.:

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

Ръководство за бързо начало

  1. Генерирайте нов пакет :
    • choco new -h командата ще ви помогне да настроите опциите на пакета.
    • След като разберете всички опции, можете да продължите с генерирането на своя шаблон.
  2. Редактирайте съответно шаблона :
    • cd package-name
    • Редактирайте package-name. nuspec конфигурационен файл.
    • Редактирайте ./tools/chocolateyInstall.ps1 скрипт за инсталиране.
      • Уверете се, че сте конфигурирали тихия режим на инсталатора. Използвайте Universal Silent Switch Finder, който се предлага като пакет Choco:choco install ussf.
      • Трябва да запазите файловете си с кодиране на символи UTF–8 без спецификация.
  3. Създайте пакета :
    • Все още в директорията на пакетите.
    • choco pack
      • „Успешно създадено име на пакета.1.1.0.nupkg“.
  4. Тествайте пакета :
    • Тестването трябва да се извърши на виртуална машина.
    • В директорията на пакетите си използвайте:
      • choco install package-name -s
        package-name е елементът id в nuspec
  5. Натиснете пакета към хранилището за пакети на общността Chocolatey:
    • Вземете акаунт в Chocolatey:
      • Регистрирайте се.
    • Копирайте ключа за API от вашия акаунт в 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 файл може да бъде пропуснат, ако е единственият в директорията.

Примери

Ето няколко прости примера.

Забележка :Предоставените примери може да изискват актуализация на контролните суми и по-нови концепции за пакети. Стартирайте choco new при създаване на пакети, тъй като съдържа най-актуалните бележки.

chocolateyInstall.ps1 за .exe инсталатор

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

Install-ChocolateyPackage $name $installerType $silentArgs $url

Забележка :Трябва да настроите превключвателя на командния ред, за да накарате инсталатора да безшумно, напр. ./VERYSILENT Името на превключвателя варира в зависимост от инсталатора.

chocolateyInstall.ps1 за .msi инсталатор

ЗАБЕЛЕЖКА :Трябва да поддържате съвместимост с Posh v2. Не всяка поддържана ОС е на Posh v2 (нито идва OOB с Posh v3+). Най-добрата практика е да работите с най-широката съвместимост на системите.

$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

Тестване на вашия пакет

Забележка 1 :Силно препоръчвам да извършвате тестване на виртуална машина, а не на вашата работеща машина.

Забележка 2 :Тестването на пакета може да се извърши по същия начин като верификатора. Разгледайте тестването на Chocolatey Verifier.

За да тествате новоизградения пакет, отворете обвивка на командния ред и отидете до директорията, където *.nupkg файл се намира. След това въведете следното:

choco install packageName -dv -s .

Тази команда ще инсталира пакета направо от вашия източник. Ако намерите неща, които трябва да поправите, използвайте --force (-f) за да премахнете и инсталирате отново пакета от актуализирания *.nupkg . Ако специално тествате chocolateyBeforeModify.ps1 , трябва да тествате сценариите за надграждане и деинсталиране. Първо трябва да инсталирате версия на пакета с този файл, защото подобно t0 деинсталирате, преди да модифицирате работи от инсталирания пакет, а не от пакета, който инсталирате (като chocolateyInstall.ps1 прави).

Забележка 1 :Force --force (-f) трябва да се използва само по време на последващото тестване, когато преинсталирате същия пакет, който сте променили и не трябва да се използва в сценарии за редовна употреба. Определено не трябва да е в скриптове.

Забележка 2 :Ако използвате Semver dash във версията на пакета си (като 1.0.0-beta ), трябва да използвате -pre превключвател. В противен случай ще получите „Не може да се намери пакет „ грешки от инсталацията на choco. Можете също да посочите -version 1.0.0-beta за да инсталирате точната версия.

Знакът точка сочи към текущата директория. Можете да посочите няколко директории, разделени с точка и запетая.

Изпратете вашия пакет

За да натиснете пакета си, след като сте го изградили и тествали, въведете следното:

choco push packageName.nupkg -s sourceLocation

Къде:

  • packageName.nupkg е името на nupkg, който е създаден с номер на версия като част от името на пакета;
  • sourceLocation е местоположението на източника, към който искате да прехвърлите (напр. -s https://chocolatey.org/ за канала на общността Chocolatey).

Трябва да имате API ключ за комплекта https://chocolatey.org/. Разгледайте choco push.

Можете също да влезете в chocolatey.org и да качите своя пакет от там (не се препоръчва за пакети над 2MB).

Препратки

Можете да използвате следните ресурси, за да научите повече за създаването и разпространението на пакет Chocolatey:

  • https://chocolatey.org/docs/create-packages
  • https://github.com/chocolatey-community/chocolatey-test-environm Шоколад вход

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предимствата на индексирането на чужди ключове

  2. Как да стартирате отдалечени работни места от IRI Workbench

  3. Как да намерите максимални стойности в редове

  4. Използване на ODBC данни в RapidMiner

  5. Обединения на вложени цикли и спулове за производителност