Phần trước chúng ta đã tạo được 1 file snapcraft.yaml tiêu chuẩn để có thể chạy được Packaging trên môi trường thật tuy nhiên file này chỉ là file thông tin chưa có gì để chạy. trong phân này mình sẽ hướng dẫn các bạn cách thêm các câu lệnh dể chạy một Packaging hoàn chỉnh. một số lệnh có thể tùy chỉnh theo ý lập trình viên mang tới sự đa dạng không gò bó

Đầu tiên chúng ta cần chỉ ra thư mục góc của phần mềm sẽ tiến hành chạy

ví dụ với một Packaging như sau

Điều này xác định ứng dụng có tên mtd được trỏ tới thư mục chứa mã nguồn của nó là bin/mtd

Bước tiếp theo chúng ta cần xác định part trong Packaging

  • Snap chứa các thành phần riêng biệt như snap server web server, database.. tức là nó sẽ chỉ ra đâu là máy chủ sẽ được chạy và nó chứa những gì
  • snap có thể có nhiều part ở nhiều khu vực khác nhau
  • mỗi part có thể có cấu trúc không giống nhau

Bây giờ mình sẽ tạo một ứng dụng hello đơn giản, mỗi một
part sẽ được quy định cách để chạy như thế nào qua lệnh plugin. Nó giống như việc bạn chỉ định cái gì và làm thế nào để cài đặt, chạy nó

Vần đề về nơi lưu trữ mã nguồn bạn có thể dùng git hoặc file nén trên webserver của bạn tuy nhiên mình khuyến cáo các bạn nên dùng git. Snapcraft hỗ trợ nhiều plugin, cho phép bạn xây dựng nhiều loại dự án (ví dụ: autotools, cmake, go, maven, nodejs, python2, python3).

Để làm một ứng dụng hello minht thêm đoạn sau vào file snapcraft.yaml

Mình đã thêm một phần được gọi mtd-hello(tên của nó là tùy ý).
source mình đã chỉ định một tarball nằm trên máy chủ FTP của dự án GNU.
plugin mình đã chọn autotools sử dụng các ./configure && make && make install để cài đặt mã nguồn cơ bản

Bạn có thể lấy danh sách đầy đủ các plugin snapcraft được hỗ trợ bằng

để chạy snap chúng ta dùng lệnh

Sẽ có nhiều đầu ra nhưng một bản dựng thành công sẽ kết thúc như sau

Nếu thông tin bị thiếu bạn sẽ được yêu cầu cài đặt các thư viện hỗ trợ bổ sung

sau khi cài thành công chúng ta có thể thấy cấu trúc thư mục sẽ thay đổi như sau

Sau đó Packaging của bạn đã sẵn sàng đfể cài đặt

đầu ra chúng ta thu được

Để có được một số thông tin về snap đã cài đặt:

Kết quả

Bây giờ chúng ta sẽ kết hợp hai phần trên lại thành một file
snapcraft.yaml hoàn chỉnh như sau

Bây giờ chúng ta sẽ build lại một snap chúng ta dùng lệnh sau để tiết kiệm thời gian

sau đó chúng ta cần cung cấp nội dung này cho snap try:

chúng ta sẽ có kết quả như sau

giờ chúng ta có thể chạy lệnh hello

kết quả

Và như vậy chúng ta đã đóng gói thành công gói của mình và sẵn sàng để chia sẻ cho mọi người dùng

Leave a Reply

avatar
  Subscribe  
Notify of