首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >避免硬编码服务器配置

避免硬编码服务器配置
EN

Stack Overflow用户
提问于 2013-04-29 15:34:04
回答 4查看 137关注 0票数 3

我正在开发一个Rails应用程序,并准备将其开源。

我正在将它部署到VPS服务器上,配置了nginx和unicorn,遵循this RailsCast

为了让Capistrano,Nginx和Unicorn正常工作,我不得不在我的config/文件夹中添加一些服务器配置文件,比如deploy.rbnginx.confunicorn.rbunicorn_init.sh

我使用的是git存储库,所有工作都在master分支下进行。换句话说,Capistrano从中提取并部署到服务器上,而且,这也是我即将开源的分支。

但是,我不希望我的服务器配置文件公开。

最好的解决方案是什么?

我是否应该派生一个仓库作为官方公共仓库,另一个作为我自己的版本,并将官方仓库设置为我的上游?

或者,最好将我的配置参数设置为环境变量,并将配置文件留在存储库中?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-29 15:48:43

这个解决方案是我为这个问题找到的最好的方案(也是我个人使用的方案)。

你应该把你的配置文件放在

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/path/to/deployed_app/shared

然后在capistrano任务中,sym链接到这些文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
namespace :deploy do
  task :symlink_shared do
    run "ln -s #{shared_path}/database.yml #{release_path}/config/"
  end
end

before "deploy:restart", "deploy:symlink_shared"
票数 1
EN

Stack Overflow用户

发布于 2013-04-29 15:50:27

这两种方法我都做过,但由于寻找环境变量并不那么吸引人,所以我最终选择了:

在我的存储库中具有原始yml文件以提供预期格式的

  • (命名方式类似于config.yml_example)
  • having我的服务器上符号链接目录中的实际yml文件
票数 1
EN

Stack Overflow用户

发布于 2013-04-29 15:51:48

如果你愿意,你仍然可以只开源当前的存储库,除非你想让它用另一个名字,比如一个将要托管的组织(即rails/rails)。除此之外,您还需要从git历史记录中删除这些文件,因为听起来您不希望它们公开,有关详细信息,请参阅:https://help.github.com/articles/remove-sensitive-data

使用这些配置的最佳方法是在服务器上设置一个共享目录,然后对其进行符号链接。请参阅:Where do you put your app-config-files when deploying rails with capistrano and svn

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16282607

复制
相关文章
如何在Bash中编写循环?
人们想要学习Unix shell的一个常见原因是释放批处理的功能。如果要对许多文件执行某些操作,一种方法是构造一个遍历这些文件的命令来实现。在编程术语中,这称为执行控制,最常见的示例之一是for循环。
用户6543014
2020/02/21
2.5K0
UIGestureRecognizer  手势识别一、概念介绍二、UIView 的分类三、UIGestureRecognizer 抽象类四、UIGestureRecognizerDelegate 代理
一、概念介绍 UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势 UITapGestureRecognizer(轻触,点按) UILongPressGestureRecognizer(长按) UISwipeGestureRecognizer(轻扫手势) UIRotationGestureRecognizer(旋转手势) UIPanGestureRecognizer(拖拽手势) UIPinchGestureRecognizer(捏合手势,缩
用户2141756
2018/05/18
3.2K0
请停止编写这么多的for循环!
在这篇文章中,我想和你一起回到基础知识,并讨论 Java 中的 for 循环。老实说,我正在为自己写这篇博客文章,因为我也会这样做。从 Java 8 开始,我们不必在 Java 中编写太多 for 循环!我希望这篇文章将使你的代码更易于阅读和编写。
武培轩
2019/12/10
8170
iOS· UIGestureRecognizer 与UITouch 的 locationInView方法含义区别
UIGestureRecognizer 与UITouch 都有一个 locationInView: 方法。
陈满iOS
2018/09/10
1.3K0
Python 工匠:编写地道循环的两个建议
花下猫语:大家对“循环”应该不陌生,它是编程语言中最常用的控制结构之一。Python 在处理循环结构上,提供了强大的支持,例如可迭代对象和迭代器。今天分享的文章是“Python工匠”系列的第七篇,在循环的用法上,本文提出了几个非常有用的建议,推荐大家一读。
Python猫
2019/05/10
7920
Python 工匠:编写地道循环的两个建议
循环是一种常用的程序控制结构。我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行。而“循环”,则是实现让机器不断重复工作的关键概念。
腾讯蓝鲸助手
2022/08/12
1.1K0
Python 工匠:编写地道循环的两个建议
循环是一种常用的程序控制结构。我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行。而“循环”,则是实现让机器不断重复工作的关键概念。
崔庆才
2019/07/22
5620
C#如何:编写简单的 Parallel.ForEach 循环
本文档使用 lambda 表达式在 PLINQ 中定义委托。 如果不熟悉 C# 或 Visual Basic 中的 lambda 表达式,请参阅 PLINQ 和 TPL 中的 Lambda 表达式。
全栈程序员站长
2022/09/09
1.6K0
编写java程序应用for循环打印菱形_打印空心菱形
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
8170
Python编写循环的两个建议 | 鹅厂实战
循环是一种常用的程序控制结构。我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行。而“循环”,则是实现让机器不断重复工作的关键概念。
AI科技大本营
2019/06/20
2.2K0
matlab编写一个求和循环函数_matlab累加求和
matlab 求和的出错 symsum是符号运算,要先用syms定义符号变量用法详见docsymsum matlab求和.符号运算 通过符号运算把这个式子拆开什么意思呢?sum(sum(B.*W))即
全栈程序员站长
2022/11/08
1.5K0
iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用
        在iOS系统中,手势是进行用户交互的重要方式,通过UIGestureRecognizer类,我们可以轻松的创建出各种手势应用于app中。关于UIGestureRecognizer类,是对iOS中的事件传递机制面向应用的封装,将手势消息的传递抽象为了对象。有关消息传递的一些讨论,在前面的博客中有提到:
珲少
2018/08/15
2K0
iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用
在Vue.js编写更好的v-for循环的6种技巧
在 Vue.js 中,v-for 循环是每个项目都会使用的东西,它允许您在模板代码中编写for循环。
张张
2020/04/16
4K0
在Vue.js编写更好的v-for循环的6种技巧
BlocksKit初见:一个支持将delegate转换成block的Cocoa库
本文介绍了一个基于CocoaAsyncSocket框架实现的TCP功能,可以实现TCP相关的功能,包括发送和接收TCP包,以及TCP的连接管理。同时,还介绍了如何使用该功能实现TCP的客户端和服务器。
ios122
2018/01/02
1.4K0
BlocksKit初见:一个支持将delegate转换成block的Cocoa库
【IOS开发进阶系列】手势专题
        iPhone中处理触摸屏的操作,在3.2之前是主要使用的是由UIResponder而来的如下4种方式:
江中散人_Jun
2023/10/16
5250
【IOS开发进阶系列】手势专题
python——循环(for循环、while循环)及练习
“”" for 变量 in range(10): 循环需要执行的代码 else: 循环结束时,需要执行的代码 “”"
用户7886150
2021/01/22
5.4K0
# C#学习 -循环结构-while循环-do ...while 循环-for循环
C#程序的三大结构 顺序结构:程序的入口都是Main函数,代码从上往下,从左往右,依次执行; 分支结构:当我们的程序执行到某个位置的时候,进行条件判断,根据判断的结果来执行不同的操作; 循环结构:在满足某个条件的时候反复执行一个语句序列(循环)。
呆呆敲代码的小Y
2021/08/12
3.2K0
JS循环-for循环嵌套
打印5行5列星星 效果图 代码 // 打印出5行5列的星星 for(i = 1 ; i <= 5 ; i ++ ) { // 外层控制打印行 for(j = 1 ; j <= 5 ; j ++ ) { // 内层控制每行打印几个 document.write('⭐') } document.write('<br>')
且陶陶
2023/04/12
19K0
JS循环-for循环嵌套
python——循环(for循环、while循环)及练习
“”” for 变量 in range(10): 循环需要执行的代码 else: 循环结束时,需要执行的代码 “””
全栈程序员站长
2022/09/22
3.2K0
python——循环(for循环、while循环)及练习
Python 循环与for循环
循环与for循环 什么是循环 周而复始地运动或变化 遍历 for循环的功能与用法 通过for关键字将列表, 元组, 字符串, 字典中的每个元素按照列顺序进行遍历(循环) 字典的for循环 用法 for item in iterable : # for循环语法块 print(item) # 每次循环对应的代码块 代码块需要缩进 参数 iterable: 一切可循环的数据类型 如列表 元组 字符串 字典 item : iterable中的每一个元素(成员) 返回值 for循环是语句,没有返
Zkeq
2022/05/18
3.2K0

相似问题

UIGestureRecognizer导致循环保留?

20

UIGestureRecognizer iOS

23

UIGestureRecognizer崩溃

30

UIGestureRecognizer on MPMoviePlayerViewController

10

UIGestureRecognizer on UILabel on on

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文