4

我试图将我的流星 0.6.3 应用程序部署到 heroku 我尝试使用https://github.com/jordansissel/heroku-buildpack-meteor.git它只支持流星 0.5.9 我还尝试将我的应用程序捆绑在一个 .tgz 文件中正如流星文档所建议但无法部署我一直检测到没有雪松应用程序?

4

4 回答 4

6

我必须做一些工作才能让 Meteor 0.8.2 正确部署到 Heroku。我正在发布对我有用的步骤序列。如果你愿意的话,你可以把它变成一个参数化的 Bash 脚本。

# Define Meteor/Heroku app name:
export APP_NAME='Your-App-Name-Here'

# Create Meteor app:
meteor create --example leaderboard "${APP_NAME}"
cd "${APP_NAME}"
git init .
git add .
git commit -m 'Initial commit'

if ( heroku apps | egrep --silent "^${APP_NAME}$" )
then
    # If re-using an existing Heroku app:
    echo "Heroku app '${APP_NAME}' already exists; configuring..."
    git remote remove heroku
    heroku git:remote -a "${APP_NAME}"
    heroku config:set \
        BUILDPACK_URL=https://github.com/oortcloud/heroku-buildpack-meteorite.git
else
    # If creating the Heroku app for the first time:
    echo "Creating Heroku app '${APP_NAME}'..."
    heroku create --stack cedar --app "${APP_NAME}" \
        --buildpack https://github.com/oortcloud/heroku-buildpack-meteorite.git
fi

heroku config:add ROOT_URL="http://${APP_NAME}.herokuapp.com"

# Make sure you have a verified account to enable the mongohq:sandbox add-on
heroku addons:add mongohq:sandbox

# Visit: https://addons-sso.heroku.com/apps/${APP_NAME}/addons/mongohq:sandbox
open "https://addons-sso.heroku.com/apps/${APP_NAME}/addons/mongohq:sandbox"

# - Click 'add a database user'
# - Enter a user name and password, and click 'Add user'
# - Click 'Overview' tab

# Set the following variables appropriately, based on the user name, password, and
# values within the 'Mongo URI' string in the Overview tab
export MONGO_DB_HOST='kahana.mongohq.com'
export MONGO_DB_PORT='db-port'
export MONGO_DB_NAME='db-name'
export MONGO_DB_USER='db-user'
export MONGO_DB_PASS='db-pass'

# Calculate connection string and URL:
export MONGO_DB_CONN="${MONGO_DB_HOST}:${MONGO_DB_PORT}/${MONGO_DB_NAME}"
export MONGO_DB_URL="mongodb://${MONGO_DB_USER}:${MONGO_DB_PASS}@${MONGO_DB_CONN}"

# If you have mongo client installed, verify the connection:
export MONGO_CMD='mongo'
"${MONGO_CMD}" "${MONGO_DB_CONN}" -u "${MONGO_DB_USER}" -p"${MONGO_DB_PASS}"

heroku config:add MONGO_URL="${MONGO_DB_URL}"

# Verify configs look okay:
heroku config

# Configure a public/private SSH key pair in order to perform builds:
export HEROKU_RSA_NAME='id_rsa@herokuapp.com'
export HEROKU_RSA_FILE=~/.ssh/"${HEROKU_RSA_NAME}"

# If creating the keys for the first time:
[[ -f "${HEROKU_RSA_FILE}" ]] || {
    ssh-keygen -t rsa -f "${HEROKU_RSA_FILE}"
    ssh-add "${HEROKU_RSA_FILE}"
}

heroku keys:add "${HEROKU_RSA_FILE}.pub"

# Deploy the Meteor app via Git and the custom build pack:
git push heroku master

# Any errors?
heroku logs

# Make sure the Heroku app is running using one web dyno:
heroku ps:scale web=1

# Test the app
heroku open
于 2014-07-11T20:59:57.603 回答
4

使用它,就像一个魅力。

https://github.com/oortcloud/heroku-buildpack-meteorite

于 2013-06-14T22:43:04.420 回答
1

对于那些遇到bash: node: command not found问题的人,我也经历过,我通过删除 Procfile 解决了它。

显然,Procfile 指示 Heroku 使用它来运行应用程序,node main.js但 node 不是有效命令,因为它不包含在 PATH 变量或类似变量中。

通过删除 Procfile,Heroku 检测到该应用程序是一个流星应用程序,并使用具有完整路径的节点二进制文件运行它。

很抱歉发布答案而不是评论,但我的声誉不允许我发表评论。

另外,请记住ROOT_URL必须以 http:// 开头

于 2013-12-05T21:39:35.343 回答
0

我在 Heroku 上运行两个 Meteor 应用程序(两个应用程序都连接到 mongolab,所以外部 MongoDB 实例)。

在这里,我记录了我是如何做到的: .../how-to-deploy-meteor-on-heroku-with.html

于 2013-06-15T15:25:20.387 回答