最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python的Jenkins接口調(diào)用方式

 更新時(shí)間:2020年05月12日 10:19:16   作者:很長(zhǎng)很長(zhǎng)的名字  
這篇文章主要介紹了python的Jenkins接口調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

本來(lái)非常喜歡偷懶

最好就是不干活那種

所以最近在研究把Jenkins模塊集成起來(lái)

做成傻瓜界面這樣就給他們用

本人Python搓望大神不要噴,多多指導(dǎo)

jenkins的Python模塊模塊安裝

pip:
pip install python-jenkins

easy_install:
easy_install python-jenkins

使用:

class jenkins_tools():
  def __init__(self):
    cf = get_conf()
    self.username = cf.get('jenkins', 'username')
    self.password = cf.get('jenkins', 'password')
    self.php_jenkins = '''			#本屌自己的jenkins的conf文件
    <project>				#這里可以去抄jenkins的項(xiàng)目文件夾里面的配置文件
     <actions/>				#記得不要加xml頭,源碼哪里幫我們加了,自己加就是作死
     <description></description>		#項(xiàng)目需求不一樣,配置文件也不一樣,你們不要抄我的
     <keepDependencies>false</keepDependencies>
     <properties>
      <hudson.model.ParametersDefinitionProperty>
       <parameterDefinitions>
        <hudson.model.StringParameterDefinition>
         <name>Branch</name>
         <description></description>
         <defaultValue>%s</defaultValue>
        </hudson.model.StringParameterDefinition>
       </parameterDefinitions>
      </hudson.model.ParametersDefinitionProperty>
     </properties>
     <scm class="hudson.scm.NullSCM"/>
     <canRoam>true</canRoam>
     <disabled>false</disabled>
     <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
     <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
     <triggers/>
     <concurrentBuild>false</concurrentBuild>
     <builders>
      <hudson.tasks.Shell>
       <command>xxxxxxx</command>	
      </hudson.tasks.Shell>
     </builders>
     <publishers/>
     <buildWrappers/>
    </project>
      '''
    self.java_newjenkins = '''		#本屌的另外一個(gè)jenkins的conf文件
      <project>
       <actions/>
       <description></description>
       <keepDependencies>false</keepDependencies>
       <properties>
        <hudson.model.ParametersDefinitionProperty>
         <parameterDefinitions>
          <hudson.model.StringParameterDefinition>
           <name>Branch</name>
           <description></description>
           <defaultValue>%s</defaultValue>
          </hudson.model.StringParameterDefinition>
         </parameterDefinitions>
        </hudson.model.ParametersDefinitionProperty>
       </properties>
       <scm class="hudson.scm.NullSCM"/>
       <canRoam>true</canRoam>
       <disabled>false</disabled>
       <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
       <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
       <triggers/>
       <concurrentBuild>false</concurrentBuild>
       <builders>
        <hudson.tasks.Shell>
         <command>xxxx</command>	
        </hudson.tasks.Shell>
       </builders>
       <publishers/>
       <buildWrappers/>
      </project>
        '''
  def __conn_jenkins_server(self, url):
    try:
	  #獲得一個(gè)jenkins的操作實(shí)例
      server = jenkins.Jenkins(url, username=self.username, password=self.password)
      return server
    except Exception:
      logging.warning('login jenkins failed!')
      return None
	
  def create_project(self, host_ip, project_name, git_path, git_branch, url, environment):
    server = self.__conn_jenkins_server(url)
    if server:
      server.create_job(project_name, self.php_jenkins)	#參數(shù)1寫的是項(xiàng)目名稱,參數(shù)2是xml文檔
      return True
    else:
      return None
 
  def project_built(self, url, project_name, git_branch):	#這個(gè)函數(shù)作用是構(gòu)建項(xiàng)目
    server = self.__conn_jenkins_server(url)		
    server.build_job(project_name, {'Branch': git_branch})
 
  def check_project_exist(self, project_name, url):		#這個(gè)函數(shù)是檢查項(xiàng)目是否已經(jīng)存在雖然寫得很挫忘不要見怪
    server = self.__conn_jenkins_server(url)
    name = server.get_job_name(project_name)
    if name is None:
      return False
    return True

詳細(xì)可以看官方文檔:http://python-jenkins.readthedocs.io/en/latest/api.html

補(bǔ)充知識(shí):python調(diào)用jenkinsapi

在通過(guò)python 調(diào)用jenkinsapi的時(shí)候,需要對(duì)一些作業(yè)進(jìn)行定時(shí)對(duì)構(gòu)建

報(bào)錯(cuò):

<title>Error 403 No valid crumb was included in the request</title>\n</head>\n<body><h2>HTTP ERROR 403</h2>

原因是在jenkins的安全配置里勾選里下面這個(gè)選項(xiàng),在預(yù)防跨站點(diǎn)請(qǐng)求,將其勾掉即可。

以上這篇python的Jenkins接口調(diào)用方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python中openpyxl庫(kù)用法詳解

    python中openpyxl庫(kù)用法詳解

    openpyxl模塊是一個(gè)讀寫Excel 文檔的Python庫(kù),openpyxl是一個(gè)比較綜合的工具,能夠同時(shí)讀取和修改Excel文檔,這篇文章主要介紹了python中openpyxl庫(kù)用法詳解,需要的朋友可以參考下
    2022-09-09
  • Python學(xué)習(xí)之元組的使用詳解

    Python學(xué)習(xí)之元組的使用詳解

    Python元組和列表很像,也是一個(gè)包含多個(gè)元素的集合,本文主要給大家介紹了關(guān)于Python中元組(Tuple)的使用,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Python?dataframe如何設(shè)置index

    Python?dataframe如何設(shè)置index

    這篇文章主要介紹了Python?dataframe如何設(shè)置index,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • PyCharm 安裝與使用配置教程(windows,mac通用)

    PyCharm 安裝與使用配置教程(windows,mac通用)

    很多小伙伴下載安裝PyCharm后不會(huì)使用,這篇文章詳細(xì)介紹了PyCharm安裝與使用教程(windows,mac通用),需要的朋友可以參考下
    2021-05-05
  • python人工智能tensorflow常用激活函數(shù)Activation?Functions

    python人工智能tensorflow常用激活函數(shù)Activation?Functions

    這篇文章主要為大家介紹了python人工智能tensorflow常用激活函數(shù)Activation?Functions的匯總介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python變量賦值的秘密分享

    Python變量賦值的秘密分享

    在Python中,我們令一個(gè)變量等于另外一個(gè)變量時(shí),并不是把值傳遞給它,而是直接把指向的地址更改了,我們通過(guò)一個(gè)小例子來(lái)看看這個(gè)有趣的過(guò)程,需要的朋友可以參考下
    2018-04-04
  • Python使用selenium + headless chrome獲取網(wǎng)頁(yè)內(nèi)容的方法示例

    Python使用selenium + headless chrome獲取網(wǎng)頁(yè)內(nèi)容的方法示例

    這篇文章主要介紹了Python使用selenium + headless chrome獲取網(wǎng)頁(yè)內(nèi)容的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 將python安裝信息加入注冊(cè)表的示例

    將python安裝信息加入注冊(cè)表的示例

    今天小編就為大家分享一篇將python安裝信息加入注冊(cè)表的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • 淺談keras中的后端backend及其相關(guān)函數(shù)(K.prod,K.cast)

    淺談keras中的后端backend及其相關(guān)函數(shù)(K.prod,K.cast)

    這篇文章主要介紹了淺談keras中的后端backend及其相關(guān)函數(shù)(K.prod,K.cast),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • 探索Python庫(kù)coconut輕松地編寫函數(shù)式代碼實(shí)例

    探索Python庫(kù)coconut輕松地編寫函數(shù)式代碼實(shí)例

    本文將介紹Python Coconut的基本概念、語(yǔ)法特性和實(shí)際應(yīng)用,同時(shí)提供豐富的示例代碼,以幫助大家更好地理解和應(yīng)用這個(gè)強(qiáng)大的工具
    2024-01-01

最新評(píng)論

丰城市| 屯昌县| 内黄县| 岳阳市| 巍山| 永顺县| 南昌县| 高尔夫| 凤庆县| 黄浦区| 循化| 菏泽市| 全椒县| 随州市| 宁夏| 定南县| 黄平县| 肃北| 同仁县| 广平县| 高邑县| 西昌市| 兴山县| 丰县| 峨山| 韶关市| 肃宁县| 铜梁县| 福清市| 积石山| 武汉市| 甘孜| 泰安市| 农安县| 宁远县| 丹凤县| 苏尼特左旗| 赤壁市| 屯留县| 明光市| 公主岭市|