2012-11-22 8 views
38

Powiedz, że utrzymuję niesamowity pakiet crab-season. Mam npm publish ed wersję 0.1.0 z package.json zawierającego:Czy muszę publikować do npm za każdym razem, gdy aktualizuję pakiet dostępny przez git?

"repository": { 
    "type": "git", 
    "url": "https://github.com/example/crab-season.git" 
} 

Kiedy dodać nowe niesamowite możliwości, wpadać w wersji 0.2.0 i pchania do github będzie rejestr npmjs zauważy moją nową wersję lub zrobić Za każdym razem muszę npm publish?

+0

afaik musisz opublikować za każdym razem. 'npm' nie jest podłączony do' github' ani żadnego innego systemu kontroli wersji. – zemirco

+1

'npm' ma pewne podstawowe wsparcie 'git' dla takich rzeczy jak instalacja bezpośrednio z adresu URL git. Śniło mi się, że odkąd dałem rejestrowi mój URL z gitem, mógł sprawdzić, kiedy wypuszczę zmianę, która aktualizuje wersję 'package.json' (być może z pewną pomocą z haka po odebraniu). Wygląda na to, że zajmie mi to trochę pracy, aby uzyskać taką integrację. – hurrymaplelad

Odpowiedz

34

Po opublikowaniu kilku modułów, odpowiedź brzmi: tak, aby uzyskać nowe wersje na npmjs, musisz npm publish.

Daje to autorowi modułu elastyczność polegającą na odrzucaniu numeru wersji zaraz po rozpoczęciu pracy nad kolejną wersją lub w dowolnym momencie przed jej zakończeniem.

zręcznie przyspiesza ten przepływ, wykrywając repozytorium git, podbijając wersję w package.json, zatwierdzając zmianę i oznaczając zmianę numerem wersji.

40

Travis CI może publikować do npm po naciśnięciu znacznika wersji, aby zmniejszyć obciążenie związane ze zwolnieniem zmiany. Włączyć w .travis.yml z:

deploy: 
    provider: npm 
    api_key: "YOUR API KEY" 
    on: 
    - tags: true 

Sprawdź travis docs szczegóły. Dostępny jest także przewodnik krok po kroku pod adresem this post.

+0

tak - dzięki :) – kleopatra

+4

'$ travis setup npm' dodaje powyższe używając [Travis gem] (https://github.com/travis-ci/travis.rb) – hurrymaplelad

+0

To jest ... piękne. –

Powiązane problemy