2013-01-08 16 views
8

Czy istnieje sposób uruchomienia zadania gruntjs jako wstępnego haka. Na przykład chcę uniemożliwić zatwierdzanie z błędnymi testami lub problemami jshint. Zastanawiam się również nad uruchomieniem upiększacza kodu dla każdego zatwierdzenia.Skorzystaj z polecenia gruntjs jako wstępnego haka

+0

tak; ale potrzebujesz węzła na komputerze, na którym to działa. – forvaidya

Odpowiedz

8

Git hooks to po prostu skrypty wykonywane podczas wykonywania akcji typu commit. Mogą zawierać dowolny język programowania.

Przykład wyzwalającego grunt:

#!/bin/sh 
grunt 

Zapisz to w pliku: .git/hooks/pre-commit

Jeśli grunt kończy pracę z kodem błędu wyższa niż 0, która to robi jeśli zadanie nie powiedzie, będzie to zapobiec popełnienie:

Wyjście niezerową od tego haczyka przerywa zatwierdzenia


materiał Reading: http://codeinthehole.com/writing/tips-for-using-a-git-pre-commit-hook/

I docs git: http://git-scm.com/book/en/Customizing-Git-Git-Hooks

Podobnie jak wiele innych systemów kontroli wersji Git ma sposób odpalać skrypty, gdy występują pewne ważne działania.

+2

Nie zapomnij zrobić chmod + x na pliku pre-commit –

2

myślę, że należy sprawdzić grunt-githooks, ładny Grunt plugin który wykonuje całą magię dla Ciebie i pozwala w prosty sposób zarejestrować Grunt zadania dla niektórych haczyków z poziomu Gruntfile.js, takich jak:

grunt.initConfig({ 
    githooks: { 
    all: { 
     // Will run the jshint and test:unit tasks at every commit 
     'pre-commit': 'jshint test:unit', 
    } 
    } 
}); 

(Zaczerpnięty z docs na https://github.com/wecodemore/grunt-githooks#defining-a-few-hooks)

Znajdź moduł na npm here.