国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【實(shí)戰(zhàn)】jenkins api 接口

這篇具有很好參考價值的文章主要介紹了【實(shí)戰(zhàn)】jenkins api 接口。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

一、Jenkins Api簡介

Jenkins 對外暴露的動作交付入口
為外部程序提供入口,可以控制Jenkins
支持協(xié)議 - Http
Api 接口支持用戶名、密碼認(rèn)證
Jenkins Api支持的典型功能:運(yùn)行Job、查看任務(wù)狀態(tài)、返回任務(wù)編號…等

二、Jenkins Api 環(huán)境準(zhǔn)備

創(chuàng)建一個有任務(wù)運(yùn)行和查詢權(quán)限的用戶
較老版本的Jenkins操作關(guān)閉跨站腳本偽造請求保護(hù),新版本的Jenkins無此選項(xiàng)了

1、獲取所有job接口

curl -u USERNAME:PASSWORD “JENKINSURL:PORT/api/json?pretty=true”

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/api/json?pretty=true"

【實(shí)戰(zhàn)】jenkins api 接口

2、獲取所有job名字接口

[root@mylinux1 ~]# curl -u admin:admin -g "http://192.168.22.3:8080/api/json?pretty=true&tree=jobs[name]"

{
  "_class" : "hudson.model.Hudson",
  "jobs" : [
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "build_no_params"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "build_with_params"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "father_job"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "first_job"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "git_demo"

3、獲取所有job名字和url接口

[root@mylinux1 ~]# curl -u admin:admin -g "http://192.168.22.3:8080/api/json?pretty=true&tree=jobs[name,url]"

{
  "_class" : "hudson.model.Hudson",
  "jobs" : [
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "build_no_params",
      "url" : "http://192.168.22.3:8080/job/build_no_params/"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "build_with_params",
      "url" : "http://192.168.22.3:8080/job/build_with_params/"
    },
    {
      "_class" : "hudson.model.FreeStyleProject",
      "name" : "father_job",
      "url" : "http://192.168.22.3:8080/job/father_job/"
    },

三、使用curl調(diào)用 獲取所有構(gòu)建隊(duì)列

curl -u USERNAME:PASSWORD JENKINSURL:PORT/queue/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/queue/api/json?pretty=true"
{
  "_class" : "hudson.model.Queue",
  "discoverableItems" : [
    
  ],
  "items" : [
    
  ]

四、使用curl調(diào)用 獲取Job信息

獲取任務(wù)所有信息
curl -u USERNAME:PASSWORD JENKINSURL:PORT/job/JOBNAME/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/job/build_with_params/api/json?pretty=true" 

獲取最后一次構(gòu)建信息
curl -u USERNAME:PASSWORD JENKINSURL:PORT/job/JOBNAME/lastBuild/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/job/build_with_params/lastBuild/api/json?pretty=true"

獲取最后穩(wěn)定構(gòu)建信息
curl -u USERNAME:PASSWORD JENKINSURL:PORT/job/JOBNAME/lastStableBuild/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/job/build_with_params/lastStableBuild/api/json?pretty=true"

獲取最后成功的構(gòu)建
curl -u USERNAME:PASSWORD JENKINSURL:PORT/job/JOBNAME/lastSuccessfulBuild/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/job/build_with_params/lastSuccessfulBuild/api/json?pretty=true"

獲取最后完成的構(gòu)建
curl -u USERNAME:PASSWORD JENKINSURL:PORT/job/JOBNAME/lastCompletedBuild/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/job/build_with_params/lastCompletedBuild/api/json?pretty=true"

最近失敗的構(gòu)建
curl -u USERNAME:PASSWORD JENKINSURL:PORT/job/JOBNAME/lastFailedBuild/api/json?pretty=true

[root@mylinux1 ~]# curl -u admin:admin "http://192.168.22.3:8080/job/maven_demo/lastFailedBuild/api/json?pretty=true"

五、使用curl調(diào)用操作Job

1、操作Job需要驗(yàn)證crumb

a、使用token發(fā)起接口(不推薦)

【實(shí)戰(zhàn)】jenkins api 接口

b、獲取crumb使用

[root@mylinux1 ~]# username_password="admin:admin"
[root@mylinux1 ~]# jenkins_url="http://192.168.22.3:8080"
[root@mylinux1 ~]# cookie_file="$(mktemp)"
[root@mylinux1 ~]# jenkins_crumb=$(curl -s -f -u "${username_password}" --cookie-jar "${cookie_file}" -s "${jenkins_url}/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,%22:%22,//crumb)")
[root@mylinux1 ~]# echo $jenkins_crumb
Jenkins-Crumb:bcc9f0c335fbcffe6e12f5aa4398ec2bdc74749b72b3389003bdc3f321d9b164

c、上面命令操作完成后會生成config.xml文件

[root@mylinux1 ~]# ls config.xml
config.xml
vim config.xml

<?xml version='1.1' encoding='UTF-8'?>
<project>
  <description></description>
  <keepDependencies>false</keepDependencies>
  <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>echo &quot;good&quot;</command>
      <configuredLocalRules/>
    </hudson.tasks.Shell>
  </builders>
  <publishers/>
  <buildWrappers/>
</project>

2、創(chuàng)建job

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/createItem?name=create_job2" --cookie "${cookie_file}" -X POST -H "${jenkins_crumb}" -H 'Content-Type:text/xml' --data-binary "@./config.xml"
[root@mylinux1 ~]# 

【實(shí)戰(zhàn)】jenkins api 接口

3、復(fù)制job

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/createItem?name=create_job3&mode=copy&from=create_job1" --cookie "${cookie_file}" -X POST -H "${jenkins_crumb}"
[root@mylinux1 ~]# 

【實(shí)戰(zhàn)】jenkins api 接口

4、修改job

【實(shí)戰(zhàn)】jenkins api 接口

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/job/create_job2/config.xml" --cookie "${cookie_file}" -X POST -H "${jenkins_crumb}" -H 'Content-Type:text/xml' --data-binary "@./config.xml"
[root@mylinux1 ~]# 

【實(shí)戰(zhàn)】jenkins api 接口

5、無參構(gòu)建

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/job/build_no_params/build" --cookie "${cookie_file}" -X POST -H "${jenkins_crumb}"
[root@mylinux1 ~]# 

【實(shí)戰(zhàn)】jenkins api 接口

6、有參構(gòu)建

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/job/build_with_params/buildWithParameters" --cookie "${cookie_file}" -X POST -H "${jenkins_crumb}" --data-urlencode json='{"env":"dev"}'

【實(shí)戰(zhàn)】jenkins api 接口

7、刪除job

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/job/create_job2/doDelete" --cookie "${cookie_file}" -X POST -H "${jenkins_crumb}"

六、使用curl調(diào)用 操作指定構(gòu)建的Job

查看最新構(gòu)建任務(wù)編號
curl -u USERNAME:PASSWORD “JENKINSURL:PORT/job/son_demo/lastBuild/buildNumber”

查看某次構(gòu)建控制臺日志
curl -u USERNAME:PASSWORD “JENKINSURL:PORT/job/JOBNAME/ID/logText/progressiveText”

刪除某次構(gòu)建
curl -u USERNAME:PASSWORD "JENKINSURL:PORT/job/JOBNAME/ID/doDelete" -X POST --cookie "${cookie_file}" -H "${jenkins_crumb}"

1、查看最新構(gòu)建任務(wù)編號

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/job/build_with_params/lastBuild/buildNumber"
5[root@mylinux1 ~]# 

【實(shí)戰(zhàn)】jenkins api 接口
【實(shí)戰(zhàn)】jenkins api 接口

2、查看某次構(gòu)建控制臺日志

[root@mylinux1 ~]# curl -u "${username_password}" "${jenkins_url}/job/build_with_params/6/logText/progressiveText"Started by user admin
Running as SYSTEM
Building on the built-in node in workspace /var/jenkins_home/workspace/build_with_params
[build_with_params] $ /bin/sh -xe /tmp/jenkins11717514708564825855.sh
+ [ online = dev ]
+ [ online = test ]
+ [ online = online ]
+ echo online runtime
online runtime
Finished: SUCCESS
[root@mylinux1 ~]# 

【實(shí)戰(zhàn)】jenkins api 接口
【實(shí)戰(zhàn)】jenkins api 接口

3、刪除某次構(gòu)建

【實(shí)戰(zhàn)】jenkins api 接口
【實(shí)戰(zhàn)】jenkins api 接口

七、Python Jenkins Api常用接口操作

1、安裝 pip install jenkinsapi

2、jenkinsapi 連接Jenkins服務(wù)

from jenkinsapi import jenkins

class JenkinsApiStudy:

    def __init__(self):
        """
        實(shí)現(xiàn)對jenkins的連接
        """
        jenkins_url="http://192.168.22.3:8080"
        #username="admin"
        #password="admin"
        用戶名="admin"
        密碼="admin"
        self.my_jenkins = jenkins.Jenkins(jenkins_url, username, password, use_crumb=True)

3、jenkinsapi 獲取所有jobs

    def get_all_jobs(self):
        """
        jenkinsapi 獲取所有jobs
        :return:
        """
        jobs=[]
        # 需要注意,如果請求的url與Jenkins Location配置的Jenkins URL不一致時,獲取到的key會拼接上一截地址
        #jobs=self.my_jenkins.keys()  # 獲取所有的job名稱
        for info in self.my_jenkins.get_jobs_info():
            jobs.append(info) # 獲取job的url與名稱  比較卡
        return jobs

4、jenkinsapi 獲取構(gòu)建隊(duì)列

    def get_queue(self):
        """
        獲取隊(duì)列信息
        :return:
        """
        return self.my_jenkins.get_queue().keys()

5、jenkinsapi 獲取Job信息

    def get_job_info(self,job_name):
        """
        jenkinsapi 獲取Job信息
        :return:
        """
        # 獲取job對象
        my_job=self.my_jenkins.get_job(job_name)
        # 獲取最后一次構(gòu)建對象
        print(my_job.get_last_build())
        # 獲取最后一次完成的構(gòu)建對象
        print(my_job.get_last_completed_build())
        # 獲取最后一次成功的構(gòu)建對象
        print(my_job.get_last_good_build())
        # 獲取最后一次失敗的構(gòu)建編號
        print(my_job.get_last_failed_buildnumber())

6、jenkinsapi 操作Job信息

        def deal_job(self,job_name):
        """
        jenkinsapi 操作Job信息
        :param job_name: job名稱
        :return:
        """
        #my_job = self.my_jenkins.get_job(job_name)
        # 獲取job的config
        #print(my_job.get_config())
        # 創(chuàng)建job
        # 先獲取到j(luò)ob的config
        with open(f"{job_name}_config.xml", "w", encoding="utf-8") as f:
            my = self.my_jenkins.get_job(job_name).get_config()
            f.write(my)
        self.my_jenkins.create_job("create_python_job", open("./build_no_params_config.xml", encoding="utf-8").read())
        # 復(fù)制job
        self.my_jenkins.copy_job(job_name, "build_no_params_job1")
        #todo 禁用job:當(dāng)創(chuàng)建job或者復(fù)制job時,會出現(xiàn)job沒有構(gòu)建功能;操作:禁用后再操作啟用
        #my_job.disable()
        # 啟用job
        #my_job.enable()
        # 重命名job
        self.my_jenkins.rename_job(job_name, f"{job_name}_new")
        # 無參構(gòu)建
        self.my_jenkins.build_job(job_name)
        # 有參構(gòu)建
        self.my_jenkins.build_job(job_name, params={"env": "test"})
        # 刪除job
        #self.my_jenkins.delete_job(job_name)

a、查看my_job.get_config()信息

【實(shí)戰(zhàn)】jenkins api 接口

b、查看生成的config.xml文件

 def deal_job(self,job_name):
        """
        jenkinsapi 操作Job信息
        :param job_name: job名稱
        :return:
        """
        #my_job = self.my_jenkins.get_job(job_name)
        # 獲取job的config
        #print(my_job.get_config())
        # 創(chuàng)建job
        # 先獲取到j(luò)ob的config
        with open(f"{job_name}_config.xml", "w", encoding="utf-8") as f:
            my = self.my_jenkins.get_job(job_name).get_config()
            f.write(my)
        self.my_jenkins.create_job("create_python_job", open("./build_no_params_config.xml", encoding="utf-8").read())

【實(shí)戰(zhàn)】jenkins api 接口

7、jenkinsapi 操作指定構(gòu)建的Job

    def get_build_info(self,job_name,build_id=None):
        """
        jenkinsapi 操作指定構(gòu)建的Job 獲取build信息
        :param job_name: job名稱
        :param build_id: 構(gòu)建id
        :return:
        """
        my_job = self.my_jenkins.get_job(job_name)
        # 當(dāng)前job對象是否在隊(duì)列/構(gòu)建中
        print(my_job.is_queued_or_running())
        # 獲取指定構(gòu)建ID的對象
        build_object = my_job.get_build(build_id)
        # 獲取構(gòu)建對象的時間戳
        print(build_object.get_timestamp())
        # 獲取控制臺日志
        print(build_object.get_console())
        # 獲取構(gòu)建參數(shù)
        print(build_object.get_params())
        # 獲取構(gòu)建的狀態(tài)
        print(build_object.get_status())
        # 獲取構(gòu)建的變更日志
        print(build_object.get_changeset_items())
        # 刪除指定構(gòu)建
        #my_job.delete_build(build_id)

輸出結(jié)果文章來源地址http://www.zghlxwxcb.cn/news/detail-440353.html

2023-04-16 05:52:26+00:00
Started by user admin
Running as SYSTEM
Building on the built-in node in workspace /var/jenkins_home/workspace/build_with_params
[build_with_params] $ /bin/sh -xe /tmp/jenkins12197874264732667620.sh
+ [ test = dev ]
+ [ test = test ]
+ echo test runtime
test runtime
Finished: SUCCESS

{'env': 'test'}
SUCCESS
[]

8、整合以上代碼

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2023/4/16 21:47
# @Author  : 杜蘭特
# @File    : jenkins_api_study.py

from jenkinsapi import jenkins

class JenkinsApiStudy:

    def __init__(self):
        """
        實(shí)現(xiàn)對jenkins的連接
        """
        jenkins_url="http://192.168.22.3:8080"
        #username="admin"
        #password="admin"
        用戶名="admin"
        密碼="admin"
        self.my_jenkins = jenkins.Jenkins(jenkins_url, username, password, use_crumb=True)

    def get_all_jobs(self):
        """
        jenkinsapi 獲取所有jobs
        :return:
        """
        jobs=[]
        # 需要注意,如果請求的url與Jenkins Location配置的Jenkins URL不一致時,獲取到的key會拼接上一截地址
        #jobs=self.my_jenkins.keys()  # 獲取所有的job名稱
        for info in self.my_jenkins.get_jobs_info():
            jobs.append(info) # 獲取job的url與名稱  比較卡
        return jobs

    def get_queue(self):
        """
        獲取隊(duì)列信息
        :return:
        """
        return self.my_jenkins.get_queue().keys()

    def get_job_info(self,job_name):
        """
        jenkinsapi 獲取Job信息
        :return:
        """
        # 獲取job對象
        my_job=self.my_jenkins.get_job(job_name)
        # 獲取最后一次構(gòu)建對象
        print(my_job.get_last_build())
        # 獲取最后一次完成的構(gòu)建對象
        print(my_job.get_last_completed_build())
        # 獲取最后一次成功的構(gòu)建對象
        print(my_job.get_last_good_build())
        # 獲取最后一次失敗的構(gòu)建編號
        print(my_job.get_last_failed_buildnumber())

    def deal_job(self,job_name):
        """
        jenkinsapi 操作Job信息
        :param job_name: job名稱
        :return:
        """
        my_job = self.my_jenkins.get_job(job_name)
        # 獲取job的config
        print(my_job.get_config())
        # 創(chuàng)建job
        # 先獲取到j(luò)ob的config
        # with open(f"{job_name}_config.xml", "w", encoding="utf-8") as f:
        #     my = self.my_jenkins.get_job(job_name).get_config()
        #     f.write(my)
        #self.my_jenkins.create_job("create_python_job", open("./build_no_params_config.xml", encoding="utf-8").read())
        # 復(fù)制job
        # self.my_jenkins.copy_job(job_name, "build_no_params_job1")
        #todo 禁用job:當(dāng)創(chuàng)建job或者復(fù)制job時,會出現(xiàn)job沒有構(gòu)建功能;操作:禁用后再操作啟用
        #my_job.disable()
        # # 啟用job
        #my_job.enable()
        # 重命名job
        # self.my_jenkins.rename_job(job_name, f"{job_name}_new")
        # 無參構(gòu)建
        # self.my_jenkins.build_job(job_name)
        # 有參構(gòu)建
        # self.my_jenkins.build_job(job_name, params={"env": "test"})
        # # 刪除job
        #self.my_jenkins.delete_job(job_name)


    def get_build_info(self,job_name,build_id=None):
        """
        jenkinsapi 操作指定構(gòu)建的Job 獲取build信息
        :param job_name: job名稱
        :param build_id: 構(gòu)建id
        :return:
        """
        my_job = self.my_jenkins.get_job(job_name)
        # 當(dāng)前job對象是否在隊(duì)列/構(gòu)建中
        print(my_job.is_queued_or_running())
        # 獲取指定構(gòu)建ID的對象
        build_object = my_job.get_build(build_id)
        # 獲取構(gòu)建對象的時間戳
        print(build_object.get_timestamp())
        # 獲取控制臺日志
        print(build_object.get_console())
        # 獲取構(gòu)建參數(shù)
        print(build_object.get_params())
        # 獲取構(gòu)建的狀態(tài)
        print(build_object.get_status())
        # 獲取構(gòu)建的變更日志
        print(build_object.get_changeset_items())
        # 刪除指定構(gòu)建
        #my_job.delete_build(build_id)



if __name__ == '__main__':
    jk=JenkinsApiStudy()
    #print(jk.get_all_jobs())
    #print(jk.get_queue())
    #jk.get_job_info("python_interface_project")
    #jk.deal_job("build_no_params")
    jk.get_build_info("build_with_params",10)

到了這里,關(guān)于【實(shí)戰(zhàn)】jenkins api 接口的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【全棧接口測試進(jìn)階系列教程】postman接口測試實(shí)戰(zhàn)cookie,token,session鑒權(quán),Base64,MD5,RSA加密,Sign簽名,持續(xù)集成postman+Newman+jenkins

    【全棧接口測試進(jìn)階系列教程】postman接口測試實(shí)戰(zhàn)cookie,token,session鑒權(quán),Base64,MD5,RSA加密,Sign簽名,持續(xù)集成postman+Newman+jenkins

    目錄 【一:postman簡介和安裝以及postman的登錄和注冊】 一、postman下載 二、安裝、注冊/登陸 三、簡單使用 1.postman模擬發(fā)送get請求: 2.postman模擬發(fā)送post請求: ?3.post數(shù)據(jù)類型說明: 【二:postman發(fā)送get請求,post請求實(shí)戰(zhàn)以及頁簽詳解】 發(fā)送GET請求 響應(yīng)頁面 發(fā)送POST請求 【三

    2024年02月10日
    瀏覽(101)
  • Jenkins 系列:Jenkins 安裝(Windows、Mac、Centos)和簡介

    Jenkins 系列:Jenkins 安裝(Windows、Mac、Centos)和簡介

    Jenkins前身是 Hudson,使用 java 語言開發(fā)的自動化發(fā)布工具。在中大型金融等企業(yè)中普遍使用 Jenkins 來作為項(xiàng)目發(fā)布工具。 Jenkins 官方提供的插件使 Jenkins 更為強(qiáng)大。Jenkins 是一個自動化服務(wù)器,目前發(fā)展超過 15 年,比較成熟的 CI 工具(也可以 CD)能夠?qū)崿F(xiàn)自動化集成發(fā)布。建

    2024年02月03日
    瀏覽(47)
  • Jenkins簡介

    Jenkins簡介

    ? ????? 隨著軟件開發(fā)需求及復(fù)雜度的不斷提高,團(tuán)隊(duì)開發(fā)成員之間如何更好地協(xié)同工作及確保軟件開發(fā)的質(zhì)量已經(jīng)慢慢稱為開發(fā)過程中不可回避的問題。Jenkins自動化部署可以解決集成、測試、部署等重復(fù)性的工作,工具集成的效率明顯高于人工操作;并且持續(xù)集成可以更

    2024年02月05日
    瀏覽(14)
  • Pytest簡介及jenkins集成

    Pytest簡介及jenkins集成

    pytest介紹 - unittestnose pytest:基于unittest之上的單元測試框架 自動發(fā)現(xiàn)測試模塊和測試方法 斷言使用assert+表達(dá)式即可 可以設(shè)置測試會話級、模塊級、類級、函數(shù)級的fixtures 數(shù)據(jù)準(zhǔn)備 + 清理工作 unittest:setUp、teardown、setUpClass、tearDownClass 共享前置后置 – conftest.py 有豐富的插

    2024年02月14日
    瀏覽(17)
  • k8s svc通過externalIPs并結(jié)合Keepalived對外暴露服務(wù)

    Kubemetes 的 Service需要對集群外暴露,可以通過NodePort、Ingress和LoadBalancer,其中 NodePort:需要預(yù)先知道k8s集群節(jié)點(diǎn)的IP地址,在使用時需指定node的ip(這樣配置存在單點(diǎn)故障); Ingress:實(shí)現(xiàn)的是HTTP(S)負(fù)載均衡器,只能代理七層; LoadBalancer:需要通過云服務(wù)商提供的負(fù)載均衡器

    2024年02月05日
    瀏覽(55)
  • 接口測試框架pytest+allure+jenkins之jenkins環(huán)境安裝配置步驟

    接口測試框架pytest+allure+jenkins之jenkins環(huán)境安裝配置步驟

    pytest+Allure+jenkins,可以定時跑測試用例,生成測試報告并發(fā)送郵箱,關(guān)聯(lián)git,自動更新git最新代碼,解放雙手。但是對于第一次接觸jenkins的測試人員,裝jenkins環(huán)境和配置job等步驟較繁瑣,很容易出錯。本文將記錄主要的Jenkins安裝和配置步驟,以及容易踩坑的地方。 1. 檢查是

    2024年02月03日
    瀏覽(92)
  • Jenkins簡介及安裝配置詳解:開啟持續(xù)集成之旅

    Jenkins簡介及安裝配置詳解:開啟持續(xù)集成之旅

    Jenkins是一個開源的、用Java編寫的持續(xù)集成和持續(xù)交付(CI/CD)工具。它提供了一種簡單易用的方式來自動化構(gòu)建、測試和部署軟件。Jenkins的主要目標(biāo)是幫助開發(fā)團(tuán)隊(duì)加快軟件開發(fā)過程,提高軟件質(zhì)量,并通過自動化流程減少手動操作和重復(fù)性工作。 Jenkins具有以下特點(diǎn)和優(yōu)勢

    2024年02月08日
    瀏覽(16)
  • Jenkins實(shí)戰(zhàn):docker compose 搭建Jenkins

    Jenkins實(shí)戰(zhàn):docker compose 搭建Jenkins

    進(jìn)入/home/docker目錄,新建docker-compose-jenkins.yml文件,內(nèi)容如下: 創(chuàng)建/home/docker/data/jenkins/jenkins_home目錄,并賦值777權(quán)限。 執(zhí)行 docker-compose -f docker-compose-jenkins.yml up -d 進(jìn)行安裝。 訪問:http://ip:8090進(jìn)入頁面,如下圖所示

    2024年02月19日
    瀏覽(17)
  • Jenkins實(shí)戰(zhàn)教程|Jenkins安裝與使用大全

    ??作者簡介: 小曾同學(xué).com,一個致力于測試開發(fā)的博主??,主要職責(zé):測試開發(fā)、CI/CD 如果文章知識點(diǎn)有錯誤的地方,還請大家指正,讓我們一起學(xué)習(xí),一起進(jìn)步。?? 座右銘:不想當(dāng)開發(fā)的測試,不是一個好測試??。 如果感覺博主的文章還不錯的話,還請點(diǎn)贊、收藏哦

    2024年02月09日
    瀏覽(15)
  • DevOps-7:Jenkins API介紹

    DevOps-7:Jenkins API介紹

    為什么要使用Jenkins的API? 我在使用Jenkins的過程中,覺得Jenkins的UI還是有不少問題的: UI性能差,尤其是有一些任務(wù)在構(gòu)建中時,UI非??D,等個十來秒都正常,極端時甚至?xí)罎ⅲ?權(quán)限管理功能薄弱,雖然有 Role-based Authorization Strategy 類似的插件提供了角色管理,但是還

    2024年02月14日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包