Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Gói lưu trữ trên Chocolatey

Trong bài viết này, chúng ta sẽ cùng tìm hiểu sơ lược về các giai đoạn chính của quá trình tạo gói Chocolatey.

Điều kiện tiên quyết

Trước khi bắt đầu tạo gói Chocolatey, hãy đảm bảo rằng bạn cần:

  • đã cài đặt Chocolatey;
  • đọc các Gói Sôcôla là gì? phần của tài liệu Chocolatey;
  • biết cách một gói hoạt động. Cụ thể, bạn biết rằng:

    • một gói chứa * .nuspe c tệp. Điều này xác định gói. (Tài liệu);
    • một gói có thể chứa phần mềm nhúng;
    • một gói có thể chứa một tập lệnh cài đặt.

Một gói sô cô la bao gồm các yếu tố chính sau:

  1. A * .nuspec tập tin. Bước này là bắt buộc.
  2. chocolateyInstall.ps1 tệp.
  3. Mọi tệp ứng dụng cần đưa vào (chúng tôi thực sự khuyên bạn là tác giả trong trường hợp này hoặc bạn có quyền phân phối tệp). * .exe các tệp trong gói / được tải xuống thư mục gói từ chocolateyInstall.ps1 sẽ có liên kết đến dòng lệnh.
  4. chocolateyUninstall.ps1 để gỡ cài đặt gói của bạn.

Tôi khuyên bạn nên xem video cho thấy quá trình tạo gói. Xin lưu ý rằng video có nội dung hơi lỗi thời của chocolateyInstall.ps1 . Hiện tại, chocolateyInstall.ps1 trông giống như sau:

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

Install-ChocolateyPackage $packageName $fileType $silentArgs $url

Cửa sổ màu sô cô la trình quản lý gói sử dụng cơ sở hạ tầng giống như NuGet, đó là Visual Studio quản lý gói hàng. Do đó, các gói dựa trên các nguyên tắc giống nhau, bao gồm nguyên tắc nêu rõ rằng mô tả gói (đặc tả) phải được lưu trữ ở định dạng XML, được gọi là Nuspec.

* .nuspec tệp chứa thông tin cơ bản như phiên bản, giấy phép, người bảo trì và các gói phụ thuộc. Chocolatey bao gồm chức năng tùy chọn bổ sung ở đầu NuGet * .nuspec tập tin. Do đó, cách tốt nhất để xác định các tính năng hiện được hỗ trợ là tạo một gói thử nghiệm và xem tệp * .nuspec đã tạo:

choco new testpackage

Lưu ý: Nếu gói của bạn sử dụng chức năng được giới thiệu gần đây, bạn có thể muốn bao gồm phần phụ thuộc cho biết phiên bản Chocolatey thấp nhất hỗ trợ chức năng cần thiết. Nếu không, quá trình cài đặt có thể không thành công đối với những người dùng đã cài đặt phiên bản Chocolatey cũ hơn.

Bạn có thể chỉ ra sự phụ thuộc Chocolatey giống như bất kỳ sự phụ thuộc nào khác, ví dụ:

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

Hướng dẫn Bắt đầu Nhanh

  1. Tạo gói mới :
    • choco new -h lệnh sẽ giúp bạn thiết lập các tùy chọn gói.
    • Khi bạn đã tìm ra tất cả các tùy chọn, bạn có thể tiếp tục tạo mẫu của mình.
  2. Chỉnh sửa mẫu cho phù hợp :
    • cd package-name
    • Chỉnh sửa package-name. tệp cấu hình nuspec.
    • Chỉnh sửa ./tools/chocolateyInstall.ps1 cài đặt tập lệnh.
      • Đảm bảo rằng bạn đã định cấu hình chế độ im lặng của trình cài đặt. Sử dụng Universal Silent Switch Finder, có sẵn dưới dạng gói Choco:choco install ussf.
      • Bạn cần lưu các tệp của mình bằng mã hóa ký tự UTF – 8 mà không có BOM.
  3. Xây dựng gói :
    • Vẫn trong thư mục gói.
    • choco pack
      • “Đã tạo thành công package-name.1.1.0.nupkg”.
  4. Kiểm tra gói :
    • Thử nghiệm phải được thực hiện trên một máy ảo.
    • Trong thư mục gói của bạn, hãy sử dụng:
      • choco install package-name -s
        package-name là phần tử id trong nuspec
  5. Đẩy gói vào kho lưu trữ gói cộng đồng Chocolatey:
    • Nhận tài khoản Chocolatey:
      • Đăng ký.
    • Sao chép khóa API từ tài khoản Chocolatey của bạn.
    • choco apikey -k [API_KEY_HERE] -source https://push.chocolatey.org/
    • choco push package-name.1.1.0.nupkg -s https://push.chocolatey.org/ - cái * .nupkg có thể bỏ qua tệp nếu nó là tệp duy nhất trong thư mục.

Ví dụ

Dưới đây là một số ví dụ đơn giản.

Lưu ý :Các ví dụ được cung cấp có thể yêu cầu cập nhật tổng kiểm tra và các khái niệm gói mới hơn. Chạy choco new khi tạo các gói vì nó chứa các ghi chú cập nhật nhất.

chocolateyInstall.ps1 cho trình cài đặt .exe

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

Install-ChocolateyPackage $name $installerType $silentArgs $url

Lưu ý :Bạn cần thiết lập công tắc dòng lệnh để làm cho trình cài đặt im lặng, ví dụ:. /VERYSILENT Tên công tắc khác nhau, tùy thuộc vào trình cài đặt.

chocolateyInstall.ps1 cho trình cài đặt .msi

LƯU Ý :Bạn cần duy trì khả năng tương thích với Posh v2. Không phải mỗi hệ điều hành được hỗ trợ đều có trên Posh v2 (cũng như OOB với Posh v3 +). Cách tốt nhất là làm việc với khả năng tương thích rộng nhất của các hệ thống hiện có.

$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

Kiểm tra gói của bạn

Lưu ý 1 :Tôi thực sự khuyên bạn nên thực hiện kiểm tra trên máy ảo, không phải trên máy làm việc của bạn.

Lưu ý 2 :Kiểm tra gói có thể được thực hiện theo cách tương tự như trình xác minh. Hãy xem Kiểm tra trình xác minh sô cô la.

Để kiểm tra gói mới được xây dựng, hãy mở trình bao dòng lệnh và điều hướng đến thư mục chứa * .nupkg tập tin được định vị. Sau đó nhập như sau:

choco install packageName -dv -s .

Lệnh này sẽ cài đặt gói ngay từ nguồn của bạn. Nếu bạn thấy những thứ cần sửa, hãy sử dụng --force (-f) để xóa và cài đặt lại gói từ * .nupkg đã cập nhật . Nếu bạn đang kiểm tra cụ thể c hocolateyBeforeModify.ps1 , bạn cần kiểm tra các kịch bản nâng cấp và gỡ cài đặt. Trước tiên, bạn cần cài đặt phiên bản của gói có tệp này vì gỡ cài đặt t0 tương tự, trước khi sửa đổi chạy từ gói đã cài đặt, không phải gói bạn đang cài đặt (như c hocolateyInstall.ps1 hiện).

Lưu ý 1 :Force --force (-f) chỉ nên được sử dụng trong quá trình thử nghiệm tiếp theo khi bạn đang cài đặt lại cùng một gói mà bạn đã thay đổi và không nên được sử dụng trong các tình huống sử dụng thường xuyên. Nó chắc chắn không nên có trong tập lệnh.

Lưu ý 2 :Nếu bạn sử dụng dấu gạch ngang Semver trong phiên bản gói của mình (chẳng hạn như 1.0.0-beta ), bạn cần sử dụng -pre công tắc điện. Nếu không, bạn sẽ nhận được thông báo ‘ Không thể tìm thấy gói ‘Lỗi từ cài đặt choco. Bạn cũng có thể chỉ định -version 1.0.0-beta để cài đặt phiên bản chính xác.

Ký tự dấu chấm trỏ đến thư mục hiện tại. Bạn có thể chỉ định nhiều thư mục được phân tách bằng dấu chấm phẩy.

Đẩy gói hàng của bạn

Để đẩy gói của bạn sau khi bạn đã xây dựng và kiểm tra nó, hãy nhập như sau:

choco push packageName.nupkg -s sourceLocation

Ở đâu:

  • packageName.nupkg là tên của nupkg được tạo với số phiên bản như một phần của tên gói;
  • sourceLocation là vị trí của nguồn mà bạn muốn đẩy đến (ví dụ:-s https://chocolatey.org/ cho nguồn cấp dữ liệu cộng đồng Chocolatey).

Bạn cần có khóa API cho bộ https://chocolaty.org/. Hãy xem choco push.

Bạn cũng có thể đăng nhập vào chocolatey.org và tải lên gói của mình từ đó (không khuyến nghị cho các gói trên 2MB).

Tài liệu tham khảo

Bạn có thể sử dụng các tài nguyên sau để tìm hiểu thêm về việc tạo và phân phối gói Chocolatey:

  • https://chocolatey.org/docs/create-packages
  • https://github.com/chocolatey-community/chocolatey-test-environm Sô cô la 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. Mô hình dữ liệu đăng ký SaaS

  2. Cách lấy tháng từ ngày trong T-SQL

  3. Chạy các tác vụ bảo trì cơ sở dữ liệu SQL bằng SQLCMD

  4. Trigger trong SQL là gì và cách triển khai chúng như thế nào?

  5. Các nguyên tắc cơ bản về biểu thức bảng, Phần 6 - CTE đệ quy