几年前,我们的 CTO 写了一篇关于使用 Jenkins 和 Docker 为 Ruby On Rails 应用提供持续集成服务的文章。...}:postgres --link ${redis.id}:redis") { sh "rake db:create" sh "rake db:migrate" sh "bundle exec rspec...### 通过 YAML 配置 Jenkins 流水线 就个人而言,我总是期望为 CI 配置简单的配置文件。这次我们有机会构建使用 YAML 文件配置的 CI。...}:postgres --link ${redis.id}:redis") { sh "rake db:create" sh "rake db:migrate" sh "bundle exec rspec...spec" } } } } } } } ``` Groovy 语言足够灵活,能在在运行时创建声明式代码,这使我们能使用 YAML 来配置我们的流水线!
'. /.profile && cd /terrabox && RAILS_ENV=test bundle exec rake db:create db:migrate && bundle exec...rspec'>/test-terrabox ;\ echo '. /.profile && cd /terrabox && export RAILS_ENV=production && rake db:...create db:migrate && bundle exec unicorn -c config/unicorn.rails.conf.rb'>/run-terrabox ;\ # END RUN...Docker 容器内运行 Rails 应用 没有本地 Docker 镜像,从零开始部署一个中级规模的 Rails 应用大概需要100个 gems,进行100次整体测试,在使用2个核心实例和2GB内存的情况下...我可以在1分钟之内和我的客户一起验证新代码,保证不同版本的应用之间是完全隔离的,同操作系统也是隔离的。传统虚拟机启动系统时需要花费好几分钟,Docker 容器只花几秒。
在/etc/cassandra/cassandra.yaml文件末尾增加一行start_rpc: true,然后重启sudo service cassandra restart 参考: 安装Cassandra...=production bundle exec rake db:migrate sudo su canvas -c "env GEM_HOME=/var/canvas/gems RAILS_ENV=production...rake canvas:compile_assets RAILS_ENV=production bundle exec rake db:migrate_pageviews_to_cassandra...第5行:进入rails控制台,自己从网上找的命令进入的,script目录下没有console… 其中第一个canvas为服务器用户名,/var/canvas/gems为canvas安装目录下的gems文件夹位置...,发布的课程右侧出现查看课程分析 效果如下
部署应用程序:无论您是否安装了HTTP服务器应用程序,都可以使用Mina在部署计算机上更新应用程序的源代码,无需处理FTP或其他工具即可自动启动并运行新版本。...RAKE - Ruby Make Web开发人员,程序员以及任何与科学或计算机打交道的人都应该很好地理解他们使用的工具。在Mina的案例中,RAKE最为关键。 但是,什么是RAKE?...获取Mina 使用Mina时,您需要确保拥有一个稳定的Ruby环境,并且安装了必要的依赖项并且运行正常 - 例如gem。 在本节中,我们将首先在CentOS 6系统上创建Ruby环境。...运行以下命令下载并安装Mina: gem install mina 使用Mina 在将mina引入项目时,首先需要在项目目录中启动mina。...:db_migrate' invoke :'rails:assets_precompile' to :launch do queue "touch #{deploy_to
安装 Discourse 依赖 作为一般的用户,可以在控制台中运行下面的命令: this script 。上面的命令将会帮助你在本地的开发环境中快速设置 Rails。...JS 依赖 yarn install 当到这一步为止,你已经安装好所有需要的 gems 和依赖,请尝试运行下面的命令: bundle exec rake db:create bundle exec...rake db:migrate RAILS_ENV=test bundle exec rake db:create db:migrate 如果在运行的时候出现错误,请仓库: Discourse 开发环境安装运行...bundle exec rake db:create 错误 中的内容。...创建一个新的 Admin 账号 在对开发环境进行登录之前,需要创建一个管理员账号,运行下面的命令进行创建: RAILS_ENV=development bundle exec rake admin:create
Docker非常适合开发“十二要素应用”。 “十二要素应用”为构建SaaS应用提供了方法论,是由知名PaaS云计算平台Heroku的创始人Adam Wiggins提出的。请参考这篇文章。...Dockerfile提供了显示声明基础操作系统的方法(FROM), 而且通过运行命令来安装附加的系统包以及应用的依赖包(RUN)。...管理进程—后台管理任务当做一次性进程运行 Docker镜像可以很容易地运行一次性进程。 ‘docker run myapp CMD’可以在与你的网络进程一致的环境中运行任意命令。...通过这些方法,你可以基于你的Postgres数据库运行交互式的bash或者运行一次性的’rake db:migrate’进程。...foreman让所有工具在本地同时运行起来,以及一个独立的基于Linux的构建服务负责将应用打包到生产环境。
安装 Discourse 依赖作为一般的用户,可以在控制台中运行下面的命令: this script 。上面的命令将会帮助你在本地的开发环境中快速设置 Rails。...依赖yarn install当到这一步为止,你已经安装好所有需要的 gems 和依赖,请尝试运行下面的命令:bundle exec rake db:create bundle exec rake db:...migrateRAILS_ENV=test bundle exec rake db:create db:migrate如果在运行的时候出现错误,请仓库: Discourse 开发环境安装运行 bundle...exec rake db:create 错误 中的内容。...创建一个新的 Admin 账号在对开发环境进行登录之前,需要创建一个管理员账号,运行下面的命令进行创建:RAILS_ENV=development bundle exec rake admin:create
随意替换突出显示的“appname”与其他东西: rails new appname -d postgresql 然后切换到应用程序目录: cd appname 我们花一点时间来创建将由Rails应用程序的生产环境使用的...创建生产数据库 既然您的应用程序已配置为与PostgreSQL数据库通信,那么让我们创建生产数据库: RAILS_ENV=production rake db:create 生成控制器 如果您跟随示例,...=production rake db:migrate 您还应该预编译资产: RAILS_ENV=production rake assets:precompile 要测试您的应用程序是否有效,您可以运行生产环境...现在,您的应用程序配置为在启动时通过Upstart启动。这意味着即使在重新启动服务器后,您的应用程序也会启动。...restart puma-manager 现在你的Rails应用程序的生产环境在Puma下运行,它正在监听shared/sockets/puma.sock套接字。
官方安装方法 下面是官网复制过来的官方安装方法,最简单的安装,在我大天朝,只能望天兴叹,你可访问外国网站安装或者略过这里,看下面的。...gitlab-ctl tail # 数据库关系升级 gitlab-rake db:migrate # 清理缓存 gitlab-rake cache:clear # 更新gitlab包 yum update...s=%{size}&d=identicon' 然后在命令行执行: sudo gitlab-ctl reconfigure sudo gitlab-rake cache:clear RAILS_ENV...=production internal API unreachable 这个错误是一个自己制造的坑,我克隆和提交都没有办法搞,但是网站能正常运行,尝试了非常多的方法,最终我的问题是22端口没有隐射出去...user root; 其它错误 Error executing action `run` on resource 'bash[migrate gitlab-rails database]'
当我们将gem添加到应用程序的Gemfile时,需要运行此bundle install命令。由于安装步骤因操作系统而异,因此这是留给读者的练习。...准备你的Rails应用程序 在您的开发机器上,很可能是您的本地计算机,我们将准备您要部署的应用程序。 可选:创建Rails应用程序 理想情况下,您已经拥有了要部署的Rails应用程序。...现在,您的应用程序配置为在启动时通过Upstart启动。这意味着即使在重新启动服务器后,您的应用程序也会启动。请记住,我们尚未部署应用程序,因此我们暂时还不想启动它。...db:create rake db:migrate rake assets:precompile sudo restart puma-manager...这些是每次将主分支推送到生产git remote(appname_production)时将运行的命令。
[TOC] 0x00 前言 在开源世界中,是没有终结的尽头! 描述:GitLab 是一个非常优秀的项目。这是一个开源项目,允许用户在自己的服务器上运行类似于 GitHub 的项目管理系统。...:check SANITIZE=true --trace # 检查gitlab gitlab-rake db:migrate # 数据库关系升级 gitlab-rake cache:clear # 清理...,先从大版本的低版升级,再到最后版本升级,以此类推; 因为我中间尝试过直接跨太多个版本升级,出现过异常,其实主要是数据库的数据导入备份问题,如果新版本跟旧版相关太大的话就会报错了。...在同一台Centos7机器上卸载了旧版本的gitlab后,接着又重新安装新版本的gitlab-ce 在安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was...Ldap认证时就找不到了,从而走标准认证(这是在不重启Gitlab的情况下进行)。
db:migrate' // Run database migrations sh 'bundle exec rails test' // Run...在本例中,我通过提供我的凭据并指示我要推送到我的集线器存储库的 Docker API 来使用 Docker Hub。在此之前,不要忘记在 Docker Hub 上设置一个存储库。...环境 注意:通过在本地使用 docker run 命令,您可以验证 Docker 映像是否已启动并正在运行。...Kubernetes 部署 在环境阶段,提供您的 kube 配置凭据并添加部署.yaml 文件的名称来代替配置文件。 环境 在成功创建部署后,应用程序现在将在您的 Pod 上运行。...在保存和应用之前检查所有行、大括号和凭据。您还应该确保环境和阶段中的变量名称相同,因为很多人在这个特定区域会犯错误。接下来,单击“应用”。如果遇到任何问题,该行中会出现一个 X。
并运行gitlab-ctl reconfigure。..., '邮件正题').deliver_now gitlab-ctl reconfigure //使配置生效 gitlab-ctl restart //重启 查看是否收到测试邮箱 补充 也是我的笔记...应用是托管在这个服务器上面的。...SANITIZE=true --trace # 实时查看日志 gitlab-ctl tail # 数据库关系升级 gitlab-rake db:migrate # 清理redis缓存 gitlab-rake...# 指定文件名的格式类似:1499242399_2017_07_05_9.2.6,程序会自动在文件名后补 上:“_gitlab_backup.tar” # 一定按这样的格式指定,否则会出现 The
机器上没安装ROR开发环境的朋友,请先参看 ruby on rails + mysql 开发环境搭建 架好环境 注:ROR的经典著作“Web开发敏捷之道--应用Rails进行敏捷Web开发”目前中文的只有第二版...,作者写书的环境是rails 1.x,现在rails的版本已经更新至2.3.5,很多东西已经变了,如果参考第二版的书上一步步来做的话,根本做不下去。...,同时在mysql中把database.yml对应的数据库建好(注意编码建议选择为utf8) 注意:mysql不要安装最新的5.1版本,建议用5.0版本,否则rake在做数据库迁移时,可能会出现问题....4.测试是否能跑起来 D:\MyDoc\Ror\depot>ruby script/server 运气好的话,浏览本机 http://localhost:3000/ 应该能出现以下画面 ?...db:migrate 执行完后,mysql数据库depot_development中将自动生成一张表products 注:回想一下.net中的linq to sql/entity,是先在数据库中建表,
0x00 前言 在开源世界中,是没有终结的尽头! 描述:GitLab 是一个非常优秀的项目。这是一个开源项目,允许用户在自己的服务器上运行类似于 GitHub 的项目管理系统。...:check SANITIZE=true --trace # 检查gitlab gitlab-rake db:migrate # 数据库关系升级 gitlab-rake cache:clear # 清理...(这里是我的建议,一般差不多最后几版就可以了),接下来就是跨大版本的升级,先从大版本的低版升级,再到最后版本升级,以此类推; 因为我中间尝试过直接跨太多个版本升级,出现过异常,其实主要是数据库的数据导入备份问题...Centos7机器上卸载了旧版本的gitlab后,接着又重新安装新版本的gitlab-ce 在安装完后修改配置,初始化配置时出现以下错误: Running handlers: There was an...,这样在Ldap认证时就找不到了,从而走标准认证(这是在不重启Gitlab的情况下进行)。
介绍 在部署基于Rails的Web应用程序时,简单设计的应用程序服务器可以在几分钟内启动并运行。...在本文中,我们选择的应用服务器是Unicorn。Unicorn是一个卓越的应用服务器,它包含你的Rails应用程序来处理传入的请求,最好是在它们被前端HTTP服务器(如Nginx)过滤和发送之后。...Task title:string note:text # Create a sample database RAILS_ENV=development rake db:migrate RAILS_ENV...=production rake db:migrate # Create a directory to hold the PID files mkdir pids 要测试您的应用程序是否设置正确并且一切正常...在本教程中,我们将重点介绍关键元素,从头开始创建一个文件,Unicorn将在启动应用程序服务器守护进程时使用该文件。
执行: bundle exec rake generate_secret_token [ <<<<<<<<<<< 这一步也会出现问题 出错:Failed to load libmysql.dll from...=production bundle exec rake db:migrate set RAILS_ENV=production set REDMINE_LANG=en bundle exec rake.../rails console production 取得你要修改的用户对象(ruby>代表进入ruby环境),admin。...Rails Installer 安装Ruby on Rails从此不在折腾。 这个方法是一条龙安装,包括了Ruby和Rails,还有折腾无数壮士的DevKit。...DevKit 最后,在CMD中运行 ruby -v
No pg_config… 问题重现: 在bundle的时候出现gem包pg-0.18.4安装出错的情况,错误代码如下: $ bundle . . ....安装目录 我的是在/usr/pgsql-9.4,也有可能会在/usr/local/pgsql,因系统而异。...db:migrate时出现错误,错误代码如下: $ rake db:migrate . . . == 20151208044806 CreateShops: migrating ===========...db:migrate时出现错误,错误代码如下: $ rake db:migrate . . . rake aborted!...抓狂的同学速度get。如果依然报错,请执行rake db:drop,然后再创建一次数据库就行了。
随意替换突出显示的“appname”与其他东西: rails new appname -d postgresql 然后切换到应用程序目录: cd appname 我们花一点时间来创建将会在Rails应用程序的生产环境使用的...创建生产数据库 既然您的应用程序已配置为可以与PostgreSQL数据库通信,那么让我们创建生产数据库: RAILS_ENV=production rake db:create 生成控制器 如果您跟随示例...=production rake db:migrate 预编译资产 此时,应用程序应该可以工作,但您需要预编译其资产,以便该程序可以加载任何图像,CSS和脚本。...为此,请运行以下命令: RAILS_ENV=production rake assets:precompile 测试应用 要测试您的应用程序是否有效,您可以运行生产环境,并将其绑定到服务器的公共IP地址...我们现在开始吧: sudo service unicorn_appname start 现在你的Rails应用程序的生产环境在Unicorn下运行,它正在侦听shared/sockets/unicorn.sock
一来,目前线上运行的应用必须以容器方式进行交付运行,我们使用容器的方式注册应用,对外提供服务; 二来,个人倾向并坚持使用容器方案,可以方便后续快速水平扩展;以及最重要的一点,“代码和命令皆有记录”,方便离线的问题排查...] 但是在检查本地的安装目录时,可以看到安装目录是 2.4.0。...根据线索,我们在 Dockerfile 中添加一条命令,强制执行任务的 rake 软件版本。 RUN gem install rake --version 13.0.1; 继续新的尝试。...虽然我们在容器镜像构建时将 root 切换到 lobsters 用户,运行应用也使用的是该用户,但是说不定这个 2.7.0 版本就是根本不会读取运行用户路径下的软件呢?...在写完这篇文章后,我对本地和服务器上进行了构建过程镜像清理,清理了大概 50 G 左右的过程产物。 --EOF
领取专属 10元无门槛券
手把手带您无忧上云