加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

ruby-on-rails – 使用Bitbucket Pipelines和Docker为Ruby on R

发布时间:2020-12-16 03:39:16 所属栏目:安全 来源:网络整理
导读:我喜欢在Bitbucket Pipelines中为Ruby on Rails / PostgreSQL / Sidekiq项目设置持续部署,但是我很难理解它是如何组合在一起的,特别是如何在Docker镜像中使用postgres .我是Docker和Pipelines的新手. 在我的谷歌搜索中,Docker谈到使用docker-compose创建一个

我喜欢在Bitbucket Pipelines中为Ruby on Rails / PostgreSQL / Sidekiq项目设置持续部署,但是我很难理解它是如何组合在一起的,特别是如何在Docker镜像中使用postgres .我是Docker和Pipelines的新手.

在我的谷歌搜索中,Docker谈到使用docker-compose创建一个包,所以我有一个Postgres容器和一个Sideqik容器,然后将它们与app容器链接.但我不确定捆绑包和图像之间的区别是什么,以及Bitbucket Pipelines是否支持捆绑包.最终我想在Heroku上设置部署到临时环境,但是现在只需要让rspec规范在Pipelines中工作就可以了.

是否存在已经设置了Ruby PostgreSQL的现有公共映像,我可以使用它?如果没有,我从哪里开始?我当前的Dockerfile如下所示:

FROM postgres:9.4
FROM ruby:2.3.1-onbuild
RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs postgresql-client

然后我运行docker build.和docker运行-it my-image / bin / bash以及以下命令:

root@a84ad0e7c16b:/usr/src/app# postgres
bash: postgres: command not found
root@a84ad0e7c16b:/usr/src/app# psql 
psql: could not connect to server: No such file or directory
  Is the server running locally and accepting
  connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
最佳答案
根据https://bitbucket.org/spittet/ruby-postgresql的建议,您可以轻松地设置您的bitbucket-pipelines.yml,如下所示:

image: spittet/ruby-postgresql

pipelines:
  default:
    - step:
        script:
          - bundle install
          - /etc/init.d/postgresql start
          - sudo -u postgres sh -c 'createuser root --createdb'
          - rails db:setup RAILS_ENV=test
          - rspec

您可能已经看到我需要创建具有创建数据库权限的用户.

要进行调试,您可以先在本地尝试:

run -i -t -v 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读