该项目是一个个人主页
- Rails 5.0.2
- Ruby 2.3.1
=====================以下为平台部署详细步骤==================================
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev libcurl4-openssl-dev
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
执行成功后会显示(加载了一个key):
gpg: requesting key D39DC0E3 from hkp server keys.gnupg.net
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key D39DC0E3: public key "Michal Papis (RVM signing) mpapis@gmail.com" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
接下来执行
$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
成功后会显示:
Creating group 'rvm'
Installing RVM to /usr/local/rvm/ Installation of RVM in /usr/local/rvm/ is almost complete:
* First you need to add all users that will be using rvm to 'rvm' group, and logout - login again, anyone using rvm will be operating with `umask u=rwx,g=rwx,o=rx`.
* To start using RVM you need to runsource /etc/profile.d/rvm.sh
in all your open shell windows, in rare cases you need to reopen all shell windows.
# Administrator,
#
# Thank you for using RVM!
# We sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne, Michal & team.
In case of problems: https://rvm.io/help and https://twitter.com/rvm_io
$ rvm -v
显示结果可能如下:
rvm 1.29.1 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io/]
$ rvm install 2.3.1
$ ruby -v
显示结果可能如下:
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
$ gem -v
显示结果可能如下:
2.5.1
$ gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
$ gem install bundler
===注意:请将下边大括号{}内的内容替换成你的信息===
$ sudo apt-get install git-core
$ git config --global user.name "{Your Name}"
$ git config --global user.email "{your@email.com}"
$ git config --global color.ui true
$ git config --global core.editor vi
===注意:请将下边大括号{}内的内容替换成你的信息===
$ ssh-keygen -t rsa -C "{your_email@youremail.com}"
$ cat ~/.ssh/id_rsa.pub
登录实施用gitcode账号 depoly@xjgreat.com
进入http://gitcode.aggso.com/profile/keys页面,点击右上角ADD SSH KEY
按钮,
在Key栏中输入生成的SSH Key, Title栏中输入标题(可自行拟定), 点击左下角ADD KEY
按钮提交即可。
$ sudo apt-get -y install imagemagick
$ sudo apt-get -y install libmagic-dev
$ sudo apt-get -y install libmagickwand-dev
$ wget http://download.redis.io/releases/redis-2.8.24.tar.gz
$ tar -zxvf redis-2.8.24.tar.gz
$ cd redis-2.8.24
$ make
$ make install
进入redis项目路径后,通过如下指令启动:
$ redis-server &
通过执行以下指令进入redis命令行界面,用以查看redis是否启动:
$ redis-cli
===注意:请将下边大括号{}内的内容替换成项目路径===
$ git clone {project_path}
获取项目后默认在master分支上,通过
$ git branch -a
查看远程仓库的所有分支,显示结果可能(视具体项目而定)如下:
* master
zhongguo_kuangyedaxue
remotes/origin/HEAD -> origin/master
remotes/origin/jiangnan_daxue
remotes/origin/master
remotes/origin/zhongguo_kuangyedaxue
其中,前边标识*的为现在的分支。 通过执行以下指令来切换分支,
===注意:请将下边大括号{}内的内容替换成分支名===
$ git checkout {branch_name}
在项目路径下,执行
$ bundle install
成功后应显示
Bundle complete! 46 Gemfile dependencies, 118 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
其中具体的数字会有所不同
配置数据库前,先利用项目下的db/api.sql
与db/xj_apps_platform.sql
两个数据库sql脚本生成平台的依赖库api(存储API基础配置数据)与xj_apps_platform(平台相关数据,如平台用户、开发者等等)。
复制项目中的数据库配置备份文件
cd config
cp database.yml.bak database.yml
修改database.yml
中的数据库配置,将其中的development链接的库修改为刚刚生成的xj_apps_platform库,将api链接的库修改为刚刚生成的api库。
在项目中的config/school_config/schools/
目录下,添加{学校名}.rb
的配置文件,其内容可以复制诸如xijiadaxue.rb
等基础配置文件。
在文件的末尾,修改常量LOCAL_API_DOMAIN
,改为该高校API项目的URL。
接下来,在项目下的config/initializers/
目录下,修改base_config.rb
文件,其内容可能如下:
require File.expand_path('../../school_config/schools/xijiadaxue',__FILE__)
将xijiadaxue
修改为刚刚配置的学校的基础配置文件名即可。
在启动之前,需要修改config/puma.rb
文件中的端口号,对应下边这行代码:
port ENV.fetch("PORT") { 8022 }
修改大括号中的数字,设为平台项目的端口号后保存即可(默认是8022端口)
以上步骤全部完成后,在项目路径下,通过puma来启动项目,执行
$ bundle exec puma -C config/puma.rb --daemon
=====================以上为项目大概部署详细步骤(其中redis没有用到)==================================