Rozwijam moją wtyczkę na githubie, ale jeśli chodzi o wdrożenie, muszę jakoś skopiować moje zmiany do Wordpress SVN . Obecnie robię to ręcznie i kopiuję każdy plik w każdym katalogu osobno, ale jest to czasochłonne i podatne na błędy.
Widziałem i wypróbowałem kilka skryptów, ale myślę, że muszę je źle uruchomić, ponieważ albo błąd, albo nieprawidłowe kopiowanie plików.
Moje pytanie brzmi: czy ktoś osiągnął to automatycznie, a jeśli tak, to jak to zrobiłeś?
Dzięki!
Odpowiedzi:
zobacz ten samouczek współpracownika mojego zespołu: http://www.farbeyondprogramming.com/2011/09/81-how-to-deploy-a-wordpress-plugin-with-git-svn
ale nie korzysta z rozwiązania, łatwiej jest pracować osobno :(
źródło
Po przeczytaniu tych odpowiedzi wcisnąłem jedną z moich wtyczek do GitHub i napisałem skrypt release.sh . Ten skrypt pobiera częściowe pobranie mojej wtyczki z plugins.svn.wordpress.org przy użyciu
--depth immediates
i aktualizuje pliki wtrunk/
iassets/
. Powinno to uprościć okresowe przekazywanie do svn, używając repozytorium wordpress.org do oznaczania wydań zamiast utrzymywania historii programowania:Bardziej ogólna wersja może współpracować z większą różnorodnością wtyczek, obsługiwać usunięte pliki i aktualizować tagi svn automatycznie na podstawie tagów git.
źródło
Zobacz Jak opublikować wtyczkę WordPress - Git z @EAMann, aby uzyskać szczegółowy opis.
źródło
Pytanie było stare, ale teraz rozwiązanie jest teraz dostępne z działaniami GitHub. Ostatnio GitHub dodał Akcje Github do automatycznego przepływu pracy dla repozytorium GitHub.
A znana firma 10up stworzyła „Wdrażanie wtyczki Action WordPress”.
Jest bardzo łatwy w konfiguracji. I zgodnie z @otto mówi, że nie musimy przesyłać każdej zmiany do svn, więc możemy ustawić automatyzację podczas tworzenia nowego tagu na github.
Nasza wtyczka github automatycznie wypycha kod do repozytorium WordPress, gdy tworzymy nowy tag wydania.
Przydatne linki:
źródło
Nie robię tego automatycznie, ale jest to dość proste:
Sprawdź, czy ciężarówka SVN i Git master znajdują się w tym samym katalogu. Używaj Git do prawie wszystkiego, tak jak w przypadku każdego projektu tylko Git.
Ustaw opcję
stable tag
betrunk
, a następnie, gdy będziesz gotowy do wydania wydania, oznacz go w Git, a następnie natychmiast pchnij do trunk. Nie przejmuj się wypychaniem do SVN/tags
, ponieważ Twoja historia wydań jest bezpieczna w Git (i Github).O to chodzi.
Aby to wyczyścić, dodaję
.svn
do.gitignore
oraz.git
(itests/
,phpunit.xml
itp), które mają być ignorowane przez SVN.Skrypt release.sh naprawdę nie byłby niczym więcej niż następującym (po zaktualizowaniu numeru wersji w kodzie i zatwierdzeniu go w Git):
źródło