Автор оригинала: Foysal.
…
… …
…
… …
…
…
… …
- Я использую
фойсал
в качестве имени пользователя и199.199.19.19
как … - … … …
...
…
… …
…
… … …
mkdir repos && cd $_ mkdir allende.git && cd $_ git init --bare touch hooks/post-receive && nano $_
… …
#!/bin/sh . ~/.profile REPO_DIR="$HOME/repos/allende.git" APP_DIR="$HOME/meteorapps/allende" OUTPUT_DIR='$HOME/meteorapps/allende-built' BUILD_OUTPUT="$OUTPUT_DIR/allende.tar.gz" APP_NAME='allende' # architechture might need to be changed if your system is not 64bit LOCAL_ARCHITECTURE='os.linux.x86_64' export PORT=3000 export NODE_ENV='production' export ROOT_URL='https://allende.com' export MONGO_URL='mongodb://localhost:27017/allende' while read oldrev newrev refname do branch=$(git rev-parse --symbolic --abbrev-ref $refname) echo "Received $branch branch" if [ "master" = "$branch" ]; then # Copy the latest code from the git repo to the app directory echo "Copying Code Into $APP_DIR" git --work-tree=$APP_DIR --git-dir=$REPO_DIR checkout -f $branch # navigate into the app directory then build and run the app from there echo "Building Meteor App" cd $APP_DIR meteor npm i METEOR_SETTINGS="$(cat settings.json)" meteor build --server-only $OUTPUT_DIR --architecture $LOCAL_ARCHITECTURE forever stop $APP_NAME tar -xzf $BUILD_OUTPUT -C $OUTPUT_DIR rm $BUILD_OUTPUT # install npm deps cd $OUTPUT_DIR/bundle/programs/server npm i --save bcrypt npm i --production # go back to main dir cd ../../ echo "----------STARTING APP----------" # run the app forever start --id $APP_NAME main.js sleep 5 forever list else echo "Deploy is disabled for $branch branch" fi done
…
…
… … … … … … …
… … … …
… …
…
npm i -g forever curl https://install.meteor.com | /bin/sh
… …
git remote add production foysal@199.199.19.19:repos/allende.git git push production master
… … … …
Настройка apache
… … Создайте конфигурационный файл для нашего виртуального хоста: sudo touch/etc/apache2/sites-available/allende.com.conf && …
ServerName allende.com # Handle proxy stuff ProxyPreserveHost On ProxyRequests off ProxyPass / http://199.199.19.19:3000/ ProxyPassReverse / http://199.199.19.19:3000/ Order deny,allow Allow from all
Теперь сохраните и выйдите из файла. … Теперь нам нужно включить эту конфигурацию, чтобы apache распознал эту новую конфигурацию. … …
sudo a2enmod proxy_http sudo service apache2 restart sudo a2ensite /etc/apache2/sites-available/allende.com.conf sudo service apache2 reload
Та-Да! … Попробуйте его в своем браузере. Это здорово и все но я обещал вам безопасный сайт с зеленым значком замка одобрения из chrome. …
…
… … … … . ... ...
…
… но это довольно важно, однако, вы может не это необходимо … … … … … … Если вы настроили принудительно https, вам понадобится эта новая конфигурация, которая будет помещена … … …
RewriteEngine on RewriteCond %{HTTP:Upgrade} websocket$ [NC] RewriteCond %{HTTP:Connection} Upgrade$ [NC] RewriteRule .* ws://199.199.19.19:3000%{REQUEST_URI} [P]
… …
…
… …
sudo swapoff -a sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 sudo mkswap /swapfile sudo swapon /swapfile
…
… …
…
… поэтому я, на самом деле, призываю вас исследовать некоторые из них и, возможно, …
…
…
…
Оригинал: «https://www.codementor.io/@foysalit/git-push-deploy-your-meteor-app-hsxs3hf20»