先期准备:

  • Heroku 账户,要通过信用卡验证
  • GitHub 账户,创建私有仓库,防止他人看到数据库密码
  • GoormIDE 账户,在线编辑器,用于一些在线操作
  • Linux系统操作

创建环境

登陆 GoormIDE 账户,新建一个运行环境,注意一些选项

点击创建,等一会,Ubuntu在线编辑器就可以运行了。运行编辑器,执行以下命令:

sudo apt-get update && sudo apt-get dist-upgrade #更新系统
cd ~/.ssh #进入.ssh,生成用于GitHub密钥
ssh-keygen -o #生成密钥指令,之后按几次回车,直至结束
cd .. # 返回上一层
cat ~/.ssh/id_rsa.pub #查看密钥,并在GitHub上添加
git config --global user.email "你打邮箱" #设置Git邮箱
git config --global user.name "要设置的昵称" #设置Gi天昵称

打开Heroku,创建一个新的项目,将项目Buildpacks设置为PHP

为项目添加3个插件:

  • heroku-postgresql:Postgresql数据库
  • papertrail:提供在线版日志查看
  • scheduler:提供定时任务,防止其休眠。

在GitHub上创建一个私人仓库。

部署安装

思路如下:在GoormIDE,使用刚刚创建编辑器克隆我的这个仓库,之后将初始化**.git**,将代码上传到GitHub上的私人仓库,修改config.inc.php,填入数据库信息,克隆官方git仓库,合并,在上传到GitHub私人仓库,在heroku部署。代码如下:

git clone https://github.com/aaro-n/heroku-typecho.git #克隆仓库
cd heroku-typecho # 进入仓库
rm -rf .git/* #清空.git
git init #git 初始化
git add .
git commit -m "代替为修改内容" #修改说明
git branch -M master
git remote add origin [email protected]:用户名/仓库名.git #添加私人仓库
git push -u origin master #推送到GitHub上
git remote add upstream https://github.com/typecho/typecho.git #添加官方仓库
git fetch upstream
git checkout master
git merge upstream/master --allow-unrelated-histories #强制合并,会弹出vim编辑框,直接 :wq 保存
rm .gitignore #删除.gitignore文件,一定要执行本操作,否则有些文件无法推送
git push origin master #推送

将数据库信息填入配置文件,打开Heroku上创建的项目获取,

数据库格式如下:postgres://用户名:密码@数据库主机:5432/数据库名称

vim config.inc.php #编辑配置文件,将刚刚的数据库信息填入配置文件,在文件尾部,确认无误后保存
git add .
git commit -m "填写数据库信息"
git push -u origin master # 推送

Heroku上部署

打开项目,链接到GitHub

链接Github,搜索刚刚创建的仓库,添加,选择,下边有使用说明。插件和主题添加按照官方要求,只是要到GoormIDE操作。

成果

参考链接