스냅을 만들 때 어떻게 더 빠르게 반복 할 수 있습니까?


10

더 큰 소프트웨어를 만들고 스냅을 구축하고 기존 소프트웨어를 제거하고 새로운 소프트웨어를 설치하는 데 시간이 오래 걸립니다.

스냅을 만들고 테스트하는 과정을 더 빨리 반복하고 싶습니다. 나는 스냅이 잘 빌드된다는 것을 알고 있습니다. 이제 앱 시작 및 통합과 같은 테스트에 관심이 있습니다. 이것을 할 수있는 방법이 있습니까?

답변:


8

머리말

이 문제를 해결하는 한 가지 방법은을 사용하는 것 snap try입니다. 그것에서 --help메시지 :

The try command installs an unpacked snap into the system for testing
purposes. The unpacked snap content continues to be used even after 
installation, so non-metadata changes there go live instantly. Metadata
changes such as those performed in snap.yaml will require reinstallation 
to go live.

또한 옵션이 제공됩니다.

--devmode     Install in development mode and disable confinement

이것은 제한 비트를 테스트하고 인터페이스를 올바르게 사용하려는 경우에 특히 유용합니다.

용법

이것을 사용하는 방법은 간단합니다.

snapcraft prime
snap try prime/

첫 번째 단계 snapcraft에서는

Final copy and preparation for the snap.

그리고 두 번째 단계 snapd에서는 디렉토리의 내용을 사용하여 스냅을 "설치"합니다. 이제 패키지를 변경할 수는 있지만 패키지를 가지고 놀 수 있습니다.

Snappy Playpen 의 예제 를 사용하여 사용법을 보여 드리겠습니다.

우리는 비교적 빠르게 구축하고 사용하기 때문에 영사를 사용하고 있습니다.

$ git clone https://github.com/ubuntu/snappy-playpen
$ cd snappy-playpen/consul/
snappy-playpen/consul$ snapcraft prime
Preparing to pull consul 
[...]
Staging consul 
Priming consul 
snappy-playpen/consul$ 

이제 다른 버전이 설치되어 있지 않은지 확인한 다음 설치를 진행하십시오.

snappy-playpen/consul$ which consul
snappy-playpen/consul$ snap try prime

Name    Version  Rev  Developer  Notes
consul  0.6.4    x1              try
snappy-playpen/consul$ consul --help
usage: consul [--version] [--help] <command> [<args>]

Available commands are:
    agent          Runs a Consul agent
[...]
snappy-playpen/consul$ 

여태까지는 그런대로 잘됐다. 잘 작동하는 것 같습니다. 이제 /bin/echo작동 방식을 확인 하기 위해 교체해 보겠습니다 .

snappy-playpen/consul$ cp /bin/echo prime/bin/consul 
snappy-playpen/consul$ consul --help
Usage: /snap/consul/x1/bin/consul [SHORT-OPTION]... [STRING]...
   or:  /snap/consul/x1/bin/consul LONG-OPTION
Echo the STRING(s) to standard output.
[...]
daniel@daydream:/tmp/test/snappy-playpen/consul$  

보시다시피, prime제한 상태에서 작업을 계속하면서 라이브 시스템을 변경할 수 있습니다 . 이것은 일반적으로 빠르게 작동하고 빠르게 테스트 할 수있는 좋은 방법입니다.

참고 : 함께 snapd2.0.10 (2016년 7월 9일)하기 전에, 당신은 실행하기 전에 스냅을 temove했다 snapcraft clean또는 snapd장착 된 스냅을 찾을 수없는 것에 대해 나쁜 상태 우는 소리에 들어갈 것입니다. 2.0.11에 대해 몇 가지 수정 사항이 추가되었으며 며칠 내에 출시 될 예정입니다.


1
하나의 런 snapcraft clean또는 스냅이 현재 불량 상태가되고 마운트 된 스냅을 찾을 수 없다는 경고음이 울리기 전에 스냅을 제거해야한다고 언급 할 수 있습니다 . 이를 위해 수정이 진행 중이지만 아직 릴리스되지 않았습니다.
Kyle

좋은 것! 정보를 지금 추가하십시오.
dholbach

1
예, '스냅 시도'는 바로이 사용 사례입니다. 그것은 squashfs를 계속 만들고 다시 마운트하지 않고도 디렉토리를 만들고 스냅을 구축 할 수있게합니다. 당신이 행복해질 때까지 그 디렉토리에서 작업함으로써 (반드시 읽기-쓰기 스냅을 가짐) 반복하고 그 디렉토리에서 squashfs를 만드십시오.
Mark Shuttleworth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.