matic-insurance.rails-container
rails-container-app
该角色用于下载、配置并运行包含Rails应用的Docker容器,在运行应用之前,会先执行数据库迁移。
要求
已在Ubuntu 14.04上测试。
该角色使用Ansible的Docker模块,因此要求与相同。
角色变量
以下是所需变量的列表及其默认值:
# Docker仓库镜像和标签
app_docker_image: 'alpine'
app_docker_image_tag: 'latest'
# 容器运行时的名称
app_container_name: 'rails'
# 容器暴露的端口列表
app_ports_mapping: []
# 在docker中运行的命令
app_command: 'bundle exec rails s'
# 环境变量字典
app_environment_vars: {}
# 要部署到服务器并挂载到镜像的配置文件
app_configuration_files: {}
如果您从私有Docker仓库拉取镜像,请指定Docker凭据:
# 私有镜像的Docker凭据
app_docker_login: 'login'
app_docker_password: 'password'
app_docker_email: 'email'
这些变量是可选的,可以根据需要进行更改:
# 运行Rails的环境
app_environment: production
# 本地机器上所有配置文件的文件夹
app_files_local_folder: './files'
# 强制拉取镜像
app_force_image_pull: true
# Docker容器重启策略
app_container_restart_policy: always
# 迁移命令
app_migration_command: 'bundle exec rake db:migrate'
# 容器内存限制
container_memory_limit: 1g
依赖
无依赖
示例剧本
最简单的剧本可以是以下内容:
- hosts: webservers
roles:
- role: rails-container-app
app_docker_image: 'maticinsurace/rails-app'
app_docker_tag: 'latest'
app_ports_mapping: ['3000:3000']
该剧本将拉取镜像 maticinsurace/rails-app:latest,
运行迁移 bundle exec rake db:migrate
并启动Rails应用 bundle exec rails s
。
如果您想指定额外的环境变量:
- hosts: webservers
roles:
- role: rails-container-app
app_command: 'bundle exec sidekiq'
app_environment_vars:
REDIS_URL: redis://redis.host:6379
DATABASE_URL: postgress://db.host:5432
这将执行sidekiq并添加redis/postgress变量。
如果您想部署自定义文件到应用:
- hosts: webservers
roles:
- role: rails-container-app
app_files_local_folder: './files/webserver'
app_configuration_files:
settings.yaml: /app/config/settings.local.yaml
apns_cert.pem: certs/apns.pem
这将从本地机器读取文件,使用key作为路径,之后在 app_files_local_folder
中挂载到Docker镜像,使用值作为路径。例如:./files/webserver/settings.yaml
将挂载为 /app/config/settings.local.yaml:ro
。
许可证
MIT
作者信息
Matic是一个连接贷方和借方的通信平台,旨在发起新的住房贷款。借款人现在知道自己在贷款流程中的位置,以及完成贷款所需做的事情。
安装
ansible-galaxy install matic-insurance.rails-container
许可证
mit
下载
386