git-push-deploy paketiyle projelerinizi sunucuza git push sonrasında istediğiniz komutları çalıştırmasını ayarlayacak şekilde tek seferde yapılandırabilirsiniz.
Öncelikle lokalinizde node.js ve npm kurulu değilse aşağıdaki yazıdan nvm yardımıyla ya da kendi sitelerinden gerekli kurulumları yapabilirsiniz.
https://indatawetrust.blogspot.com/2015/10/nodejs-versiyon-yonetim-sistemi-nvm.html
npm i -g git-push-deploy
ssh-copy-id ile lokal anahtarınızı kopyalayarak her deploy sonrası şifre sorulmasının önüne geçebilirsiniz.
ssh-copy-id root@ip
Şimdi proje dizininize gelin ve aşağıdaki komutu çalıştırın. Bu komut ile lokalinizde ve sunucunuzda deployment konfigürasyonlarını yapılacak.
git-push-deploy root@ip
İlk deploy sonrasında aşağıdaki hatayı alabilirsiniz.
remote: hooks/post-receive: 25: hooks/post-receive: npm: not found
Sunucuza node.js kurulumunu nvm ile yaptıysanız proje dizininizde .git/deploy/hooks/post-receive dosyasında ikinci satıra aşağıdaki eklemeyi yapın.
. $HOME/.nvm/nvm.sh
Bir web servisi ile çalışmaktaysanız pm2 kurulumu yaparak post-receive dosyasında npm install sonrasında aşağıdaki şekilde servisi arka planda çalışır hale getirebilirsiniz. app.js kısmına servisin başlatıldığı dosyayı yazın.
pm2 start app.js
Bu yazı node.js üzerine bir yazı oldu ama kullandığınız başka platformlar için docker, php, .net core, python vb post-receive dosyasını düzenleyerek projelerinize uyarlayabilirsiniz.
Hiç yorum yok:
Yorum Gönder