При этом проект, как обнаружил конфигурацию установки, в основном потому, что компания написала все конфигурации собственной базы данных конфигурации (ресурсов адреса, номер счета и т.д.), проект он-лайн, после чего конфигурация считывает конфигурацию из этой библиотеки. Но он не может быть использован в разработке, поэтому при разработке требуется заказ конфигурации, и может быть удалено легко настроить среду разработки, когда он-лайн.
Мы реализуем пакет классов файлы / пользовательские файлы, как в myjenkins.py :()
class FlaskJenkins(object):
def __init__(self, app=None):
self.app = app
self._j = None
if app:
self.init_app(app)
def init_app(self, app):
app.config.setdefault('JENKINS_URL', 'https://jenkins.hahha.com') #设置默认的 配置信息,如果没有配置才会设置成功,如已有自定义配置则不会设置这些默认配置。(实际上公司的配置库里有这个配置,在初始化 app 时就已经在app.config中存在这些配置了,这里是示范。)
app.config.setdefault('JENKINS_USERNAME', 'username')
app.config.setdefault('JENKINS_PASSWORD', 'password')
self._j = Jenkins(
url=app.config['JENKINS_URL'],
username=app.config['JENKINS_USERNAME'],
password=app.config['JENKINS_PASSWORD']
)
def get_job_info(self, name, depth=0, fetch_all_builds=False):
return self._j.get_job_info(name, depth, fetch_all_builds)
def others_function(*args, **kwargs)
pass
В extentions.py в:
from myjenkins import FlaskJenkins
jenkins = FlaskJenkins()
Приложение сможет считывать пользовательские настройки из конфигурационного файла, чтобы увидеть, если есть пользовательские настройки. Профиль config.py следующим образом:
class Config(object):
CONFIG_CENTER = 'jarvis/config'
SQLALCHEMY_TRACK_MODIFICATIONS = False
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:123456@localhost:3306/jarvis?charset=utf8"
JENKINS_USERNAME = "root"
JENKINS_PASSWORD = "passwd"
JENKINS_URL = "http://localhost:9090"
При инициализации ресурсов в файле проекта, чтобы инициализировать наши это Дженкинс (например, Дженкинс адрес, номер счета), если выше не настроен в пользовательский файл конфигурации, он будет считывать параметры конфигурации по умолчанию.
(Если не написано в config.py в JENKINS_USERNAME, JENKINS_PASSWORD, JENKINS_URL обычая, конфигурация по умолчанию вступит в силу в FlaskJenkins)
from extentions import jenkins
jenkins.inint_app(app)
В других документах необходимость использования Дженкинс, Дженкинс импортировать непосредственно из extentions.py в:
from extentions import jenkins
# 调用方法
jenkins.other_functions()