我正在使用python。目前,我正在这样做。我有一个名为keys.py
的文件,我存储在我的密钥中,例如AWS_SECRET等。
在我的.gitignore
内,我有keys.py,因此它不会被提交到bitbucket。
我的keys.py
看起来像这样。
#!/usr/bin/env python
AWS_KEY = "1231231231"
AWS_SECRET = "23123123123"
PHONE_NUMBER = "12312312312"
在需要密钥的python文件中,我执行以下操作。
import keys
print keys.AWS_KEY
我现在遇到的问题是,现在bitbucket支持管道,我能够进行测试和填充并直接部署到服务器。但是,由于keys.py
不在我的仓库中,因此bitbucket无法测试代码。
bitbucket中有环境变量设置。但这需要我改变我的代码库以接受环境变量。
如何使用bitbucket管道?我应该更改我的代码以使用环境变量吗?有没有更好的方法?
谢谢大家。
答案 0 :(得分:1)
试试这个:
import os
AWS_KEY = os.environ.get('AWS_KEY', 'XXXXXX')
AWS_SECRET = os.environ.get('AWS_SECRET', 'YYYYYY')
PHONE_NUMBER = os.environ.get('PHONE_NUMBER', 'ZZZZZ')
但首先需要在bitbucket
中的环境变量中设置AWS_KEY,AWS_SECRET,PHONE_NUMBER答案 1 :(得分:1)
您应该使用环境变量。这是常态。您必须根据此更改调整代码。
一个简单的修复可能是让您的keys.py
文件查找环境变量。您可以按如下方式检索环境变量:os.environ.get("VARIABLE_NAME")
顺便说一句:根据您的使用情况,您可能希望编写测试,以便他们不依赖实际调用服务;例如通过编写专门用于测试的模拟类。这是正常的做法,它也会加快你的测试速度。当然,这并不总是容易或实际的。所以也许可以看看模拟和其他测试技术。