#upstart service file at /etc/init/meteor-service.conf
description "Meteor.js (NodeJS) application for eaxmple.com:3000"
author "rohanray@gmail.com"
# When to start the service
start on runlevel [2345]
# When to stop the service
stop on shutdown
# Automatically restart process if crashed
respawn
respawn limit 10 5
script
export PORT=3000
# this allows Meteor to figure out correct IP address of visitors
export HTTP_FORWARDED_COUNT=1
export MONGO_URL=mongodb://xxxxxx:xxxxxx@example123123.mongolab.com:59672/meteor-db
export ROOT_URL=http://<droplet_ip>:3000
exec /home/gitlab-runner/.meteor/packages/meteor-tool/1.1.10/mt-os.linux.x86_64/dev_bundle/bin/node /home/gitlab-runner/erecaho-build/server-alpha-running/bundle/main.js >> /home/gitlab-runner/erecaho-build/server-alpha-running/meteor.log
end script
1 回答
简介:我正在运行一个Meteor 1.3.2应用程序,自4个月以来一直在Digital Ocean(Ubuntu 14.04)上运行 . 我正在使用Gitlab v.8.3.4在与Meteor应用程序相同的Digital Ocean Droplet上运行 . 它是一个2 GB / 2 CPU的液滴(每月20美元) . 使用内置的Gitlab CI进行CI / CD . 此设置已成功运行至今 . (我们目前没有使用Docker,但这不重要 . )
Our CI/CD strategy:
我们在Windows上使用git CLI工具连接到我们的Gitlab服务器 . (用于拉,推等类似的常规git活动)
在Atom编辑器中打开签出的项目 . 我们还将Atom与Gitlab集成在一起 . 这有助于在Atom编辑器本身内快速git状态/拉/推等 . 定期进行流星工作即可 . 修复错误等
在本地笔记本电脑上进行测试,然后我们对master进行git push和commit . 这会触发使用Gitlab CI的自动构建,结果(包括构建日志)可以在Gitlab中看到,如下所示:
下图显示了之前的所有构建日志:
Please follow below steps:
在DO液滴上安装meteor .
在DO上安装Gitlab(如果可能,使用一键部署)或手动安装 . 确保您正在安装Gitlab v.8.3.4或更新版本 . 我在我的Droplet上做了一键式DO部署 . 启动gitlab服务器并从浏览器登录gitlab . 打开项目并转到项目设置 - >左侧菜单中的Runners
样本文件:
输入步骤2中的详细信息
现在,如果需要,新跑步者应为绿色或激活跑步者
在meteor项目目录中创建.gitlab-ci.yml
样本文件:
Note :首次登入.gitlab-ci.yml后,该应用程序将无法使用,因为重启meteor-service将导致找不到服务 . 在DO SSH控制台上手动运行sudo start meteor-service . 发布此任何新的签到gitlab master将触发自动CI / CD,并且在构建成功完成后,将在example.com:3000上提供新版本的应用程序 .
P.S . :gitlab ci yaml docs可以在http://doc.gitlab.com/ee/ci/yaml/README.html找到,用于自定义并理解上面的示例yaml文件 . 对于docker特定的跑步者,请参阅https://gitlab.com/gitlab-org/gitlab-ci-multi-runner