Snapcraft to zestaw narzędzi dołączonych do snapcraft
polecenia, aby łatwo tworzyć (tworzyć) pakiety dla wielu dystrybucji Linuksa . Te pakiety .snap zazwyczaj zawierają samodzielne aplikacje, zapewniają bezpieczną izolację i można je zainstalować albo ze sklepu Ubuntu Software Store, albo ręcznie za pomocą snap install <snap-name>.snap
polecenia.
Krótko mówiąc, jako programista piszesz kod za pomocą zwykłych narzędzi i pozwalasz Snapcraft zająć się jego skompletowaniem do dystrybucji. Snapcraft wyróżnia się także tym, że umożliwia programistom przenoszenie istniejących aplikacji na dowolną platformę Linux z obsługą Snap.
Snapcraft:
- Jest inteligentny : pobiera, buduje i montuje różne elementy oprogramowania ( części ) ze zdalnych źródeł w końcowy pakiet .snap, który zawiera wszystkie zależności potrzebne do działania
- Potrzebuje przepisu : opiera się na
snapcraft.yaml
pliku, który określa części i wtyczki wymagane do utworzenia pakietu
- Jest rozszerzalny za pomocą wtyczek. Chociaż jest dostarczany z zestawem najpopularniejszych wtyczek systemu kompilacji, aby obsłużyć szeroki zakres kompilacji aplikacji, można go łatwo rozszerzyć o nowe .
3-minutowa wycieczka po Snapcraft
Zainstaluj Snapcraft na Ubuntu
Do korzystania ze Snapcraft będziesz potrzebować Ubuntu 16.04 LTS. Otwórz terminal za pomocą Ctrl+ Alt+ ti po prostu zainstaluj Snapcraft za pomocą tego polecenia:
sudo apt install snapcraft
sudo apt install build-essential # Optional, but useful for different builds
Jeśli używasz innej dystrybucji, sprawdź alternatywne instrukcje instalacji>
Przetestuj Snapcraft
Poniższy przykład przedstawia pakiet zawierający usługę, która umożliwia wklejanie i udostępnianie. Po zakończeniu możesz zainstalować go ręcznie na zgrabnym urządzeniu w celach testowych lub przesłać do Sklepu innym użytkownikom.
Przede wszystkim otwieramy terminal i pobieramy przykład z repozytorium przykładów:
sudo apt install git
git clone https://github.com/ubuntu-core/snapcraft.git
cd snapcraft/demos/gopaste
Zwróć uwagę na snapcraft.yaml
plik w tym katalogu, który określa usługę i części wymagane do złożenia końcowego pliku .snap. Opcjonalnie możesz to sprawdzić za pomocą edytora tekstu.
Teraz uruchom snapcraft
polecenie na terminalu. Spowoduje to, że wszystkie podkomendy snapcraft będą działać po kolei, aby zbudować części i umieścić wyniki w ostatecznym pakiecie .snap. Podczas programowania kroki należy uruchamiać osobno, dopóki nie masz pewności, że cała kompilacja i montaż działają.
$ snapcraft
Pulling gopaste
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go get -t -d github.com/wisnij/gopaste/gopasted
Building gopaste
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go build github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build go install github.com/wisnij/gopaste/gopasted
env GOPATH=/tmp/snapcraft/examples/gopaste/parts/gopaste/build cp -a /tmp/snapcraft/examples/gopaste/parts/gopaste/build/bin /tmp/snapcraft/examples/gopaste/parts/gopaste/install
Staging gopaste
Snapping gopaste
Generated 'gopaste_1.0_amd64.snap' snap
Na wyjściu polecenia możesz zobaczyć kroki, które wykonuje snapcraft:
- Wyciągnij : pobiera kod z wymaganej części gopaste ze zdalnego repozytorium Github
- Kompilacja : buduje gopaste lokalnie
- Etap : po kompilacji części są umieszczane w jednym drzewie katalogów, „obszarze przejściowym”
- Snap : ostateczny pakiet .snap jest tworzony ze zmontowanych części w obszarze przemieszczania
Uwagi:
- Znajdziesz plik końcowy jako
gopaste_1.0_amd64.snap
(zauważ, że w moim przypadku zbudowałem go na pulpicie amd64, np. Pakiety Raspberry Pi 2 miałyby _armhf
sufiks architektury).
- Można również uruchomić każde polecenie indywidualnie:
snapcraft pull
, snapcraft build
, snapcraft stage
lubsnapcraft snap
- Służy
snapcraft -h
do szybkiego przeglądu wszystkich dostępnych poleceń.
I to wszystko, aby szybko zobaczyć, co potrafi Snapcraft! Dowiedz się więcej o Snapcraft>