마음에 플라스크 방법 구성 항목 집합!

프로젝트 과정에서, 방법은 회사가 독점 구성 데이터베이스의 구성 (자원 주소, 계좌 번호 등) 모두에 쓴 주로하기 때문에, 설정 구성 발생의 온라인 프로젝트 구성은 무엇인가 후 이 라이브러리에서 구성을 읽습니다. 그러나이 때문에 사용자 정의 구성이 필요 개발할 때, 그리고 온라인 쉽게 개발 환경을 구성 제거 할 수있을 때, 개발에 사용할 수 없습니다.

우리는)에서 :( 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"

위의 사용자 정의 구성 파일에 구성되지 않은 경우 (예 : 젠킨스 주소, 계좌 번호 등) 우리의이 젠킨스를 초기화하는 프로젝트 파일에서 자원의 초기화에서, 그것은 기본 구성 설정을 읽습니다.
(JENKINS_USERNAME, JENKINS_PASSWORD, JENKINS_URL 사용자 정의에 config.py로 작성되지 않은 경우, 기본 구성은 FlaskJenkins에 적용됩니다)


from extentions import jenkins


jenkins.inint_app(app)

젠킨스를 사용할 필요가 다른 문서에서, 젠킨스의 extentions.py에서 직접 가져옵니다


from extentions import jenkins


# 调用方法
jenkins.other_functions()

추천

출처www.cnblogs.com/ChangAn223/p/11431009.html