當前位置:首頁 » 編程軟體 » jenkins自動化腳本

jenkins自動化腳本

發布時間: 2023-03-18 01:05:06

A. STF結合Jenkins實現Monekey測試自動化

STF是一個可以通過網頁管理和使用移動設備的平台,支持遠程調試、遠程使用手機瀏覽器打開鏈接、遠程執行shell腳本、遠程拖拽安裝App、遠程查看日誌、遠程截屏等功能。

關於枯答搏STF的詳細搭建流程可以參考我的這篇文章舉遲:
《OpenStf的搭建以及分布式部署的沒祥實現》

當CI Monekey測試任務跑起來之後,STF就會自動刷新頁面顯示正在自動化標記

B. jenkins怎麼實現客戶端自動化腳本

首先搭建起jenkins環境,android官方提供了使用ant編譯打包的腳本,所以要在jenkins系統配置裡面將ant配置好;然後在jenkins裡面新建一個項目,這里列出比老知搜較重要猛猛的幾項配置: 1、項目源代碼侍歷位置,一般就是指定svn吧 2、構建過程添加shell

C. Jenkins自動化發布方法

jenkins自動化發布首先需要知道其原理,知道了理論後才可以更好的配置。同時也需要知道一些基本知識(如果不懂需要自己學習),比如webhook、docker、宿主主機、掛載目錄/文件(外掛倉庫)、shell腳本等。
一、前期准備
1、分支
確保自動化發布倉庫分支統一,正式環境需要是release,內網測試環境test_release。如果沒有的請先新建好。
註:release需要是保護分支,因為正式環境不允許隨意發布。設置後需要在保護分支設置裡面配置其【可合並 Pull Request 成員】為可以審核發布人。如下saas中台前端的配置:

D. 再見 Jenkins!幾行腳本搞定自動化部署,這款神器有點厲害

Drone是一款基於容器技術的持續集成工具,使用簡單的YAML配置文件即可完成復雜的自動化構建、測試、部署任務,在Github上已經有22K+Star。

對比Jenkins復雜的圖形化界面操作,Drone使用腳本來定義流水線任務無疑更簡單、更直觀。Drone更加輕量級,內存佔用少且響應速度快!自動化部署要啥Jenkins?直接給Git整個CI/DI功能難道不香么?

https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-drone

E. 自動化部署工具jenkins,從此擺脫重復單調的工作

它是基於java開發的一種持續集成工具,用於監控持續重復的工作,旨在提供一個開放易用的軟體平台,使軟體的持續集成變成可能。

有了它你可以免除手工編譯,發布代碼,上線更容易。節省的時間你可以喝杯咖啡,放鬆一下 ^_^

道路千萬條,熟悉第一條,我這里使用 Red Hat 家族衍生的 centos 上安裝Jenkins。

這里可以下載rpm包: http://pkg.jenkins-ci.org/redhat/

也可以如下操作:

安裝

將Jenkins存儲庫添加到yum repos,並從此處安裝Jenkins。

安裝穩定版

還有一個LTS YUM資源庫的LTS版本線

安裝Java

Jenkins需要Java才能運行,但默認情況下某些發行版不包含此內容。要安裝Open Java Development Kit(OpenJDK),請運行以下命令:

安裝完成後Jenkins 啟動之前的注意事項

默認情況是Jenkins是使用Jenkins用戶啟動的,但這個用戶目前系統並沒有賦予許可權,這里我們將啟動用戶修改為root;另外Jenkins默認埠是8080,這個跟tomcat的默認埠沖突,我們也修改一下默認埠。

找到 JENKINS_USER 和JENKINS_PORT ,修改為root和你需要的埠

啟動/停止

注意:如果收到以下錯誤消息,請確保已安裝Java:

Starting jenkins (via systemctl): Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.[FAILED]

禁用防火牆

有關CentOS Java的重要說明

Jenkins需要Java才能運行,但yum install jenkins不強制已經安裝了java。檢查以確保您已通過運行安裝了hava java java -version。為了進一步使CentOS用戶感到困難,默認的CentOS版本的Java與Jenkins不兼容。Jenkins通常最適合使用Java的Sun實現,由於許可原因,它不包含在CentOS中。

如果您獲得類似於以下內容的輸出,則表示您使用的是Java的默認(GCJ)版本,該版本不適用於Jenkins:

要解決此問題,您可能需要刪除GC的GCJ版本並安裝Sun兼容版本。

如果收到上面的輸出,請卸載默認的java:

然後在卸載Java之後(或者如果你根本沒有安裝Java那麼開始)。您需要安裝與Sun兼容的Java版本。最簡單的方法是使用OpenJDK,它可以通過EPEL存儲庫獲得(或者您可以直接從Oracle安裝官方 RPM)。要安裝OpenJDK,請運行以下命令:

根據您的CentOS版本,OpenJDK的軟體包名稱可能有所不同。使用yum search openjdk來檢查包的名稱。如果通過yum找不到OpenJDK,則可能需要安裝EPEL yum存儲庫。安裝後,您應該能夠獲得以下java -version輸出:

Ok,到此jenkins安裝完成。

接下來你可以在瀏覽器地址中輸入Jenkins網址,如:IP:埠,將顯示如下內容:

拷貝指定文件密碼,進入用戶自定義插件界面,建議選擇安裝官方推薦插件:

接下來是進入插件安裝進度界面:

等待一段時間之後,插件安裝完成,配置用戶名密碼:

OK,你可以使用jenkins來編譯、發布你的代碼了。oh,它支持從代碼庫中直接拉取代碼,git、svn都支持。趕快使用你的Spring boot、go試試吧。

F. Jenkins自動化部署到多台伺服器配置

1:Jenkins秘鑰查看

需要查看秘鑰,

然後在 **.16.200.22和**.16.200.28伺服器的目錄下面將Jenkins秘鑰放到~/.ssh/authorized_keys文件里。

3:Jenkins自動化部署到多台伺服器腳本

library 'lib-base@master'

def map = [:]

//######傳參########

map.put('GIT_URL','http://172.16.0.1/FN-PM0091/cdd.git')

map.put('GIT_BRANCH','master')

map.put('GIT_CRED_ID','jenkins')

def archivelist=[]

archivelist.add('job-excutor/target/cdd1.jar')

map.put('ARCHIVE_FILE',archivelist)

// skywalking 服務目錄

def SKYWALKING_DIR = '/usr/local/apps/apache-skywalking-apm-bin-es7'

// skywalking oap 服務地址

def SKYWALKING_OAP_IP = '172.16.200.54'

def SKYWALKING_OAP_PORT = 11800

def deploylist=[]

deploylist.add("runjar -f 'cdd-service/target/cdd1.jar' -v '/data/cddm'  -j '-Xms512m -Xmx512m' -h **.16.200.28")

deploylist.add("runjar -f 'report-executor/target/cdd1.jar' -v '/data/cddm' -j '-Dnacos.logging.default.config.enabled=false -Xms512m -Xmx512m' -h **.16.200.22")

map.put('DEPLOY_RUN',deploylist)

//################

DockerBuild("maven",map);

G. Jenkins pipeline demo - 獲取python script 輸出

在 Jenkins Job 中槐舉攜,添加一個 pre script 來提高自動化程度,將這個腳本的輸出作為其他主要流程build的參數,因此,build 參數的邏輯由 pre script 來控制,而不改變main job的邏輯。

下面的 sample 是通過獲取一個 python 腳本的 console output 到 pipeline,然後再傳遞鉛伏給其他 step 使用。

python script 中 print 或 sys.stdout.write 的輸出,Jenkins 都可以獲取到。只需要在pipeline script 中使用下面的方法,會獲取到 script 的所有 output.

func test_value 是為了說明 return value 但並不輸出到console,腳本執行結束後 Jenkins 並獲取不到。下面的腳本,Jenkins 獲取到的是 「Value: 2 3」。為了 pipeline 處理方便,可以在腳本中控制輸出。

sample pipeline 中設置了三個stage,Preparation中定義答滑一個變數,Get number 執行python 腳本,獲取輸出,Result 中使用該變數。

H. 16 Web 自動化測試 -- Jenkins執行腳本

想要通過Jenkins來執行腳本,我們得在Jenkins上先安裝一些必要的環境,並去新建一個Maven Job。

詳細見個人博客: http://www.jianshu.com/p/026c0fcaedf0

這里對日程表的五顆 * 做個說明:

注意也需要在Jenkins Location中設置管理員郵件地址:

接著在Job 的配置的「構建後操作」中添加發送郵箱操作,可選「Editable Email Notification」 插件,並做配置。
Project Recipient List 配置要收到郵件的郵箱列表
Content Type 配置郵件發送類型
Default Content 配置郵件發送內容,例如content type我選擇了HTML,那麼我可以編寫html於內容中,發郵件後會自動化解析成頁面形式。例如:

I. Jenkins+Rancher自動化部署

本文主要記錄Jenkins+Rancher+k8s自動化部署相關配置說明,不涉及rancher和jenkins安裝部署,包含java server項目、WAR項目、前端VUE項目部署配置介紹。

伺服器環境信息:

需要在安裝jenkins服務上部署下面相應的軟體,請注意軟體版本,如已經安裝相關軟體,可跳過此章節。

需要安裝rancher-cli,並且使用jenkins用戶預先登錄rancher平台:命令參考:

--token:這個用戶的token建議設置為永不過期,在rancher管理端 -> api&key > 添加。

建議安裝阿里鏡像,提高編譯速度:

jenkins啟動用戶需要添加到docker組中:

項目主要是java和vue開發的,所以需要安裝Maven Integration plugin插件。

spring boot或者spring cloud自帶容器,以及其它服務類型的java後端應用部署。

1、填寫項目名稱,選擇"構建一個maven項目"

點擊下面"OK"按鈕

2、填寫項目描述信息

3、輸入項目地址,並選擇用戶憑證

本文通過conding.net作為代碼管理平台,點擊"Add"添加自己賬號憑證(輸入coding.net平台登陸賬號密碼即可)。

4、配置maven編譯腳本

5、編寫rancher部署腳本

Dockerfile參數說明:FROM:選擇基礎鏡像包,該項目是用java語言開發需要jdk1.8所以選擇openjdk:8ADD:將bRule-deploy-1.0.0.tar.gz文件解壓上傳到鏡像的brule目錄EXPOSE:容器內部啟動2002埠,根據自身項目填寫指定埠,多個埠填寫多行EXPOSE標簽ENTRYPOINT:容器啟動時執行的命令,執行多條命令使用&&拼接,命令行中帶&需要加上轉移符\&,使用tail -fn監聽應用日誌,以便容器日誌查看。

用於創建docker鏡像,就好比創建一個已經安裝並且配置好了應用程序的操作系統鏡像。

參數說明:192.168.100.21:5000:為本地docker鏡像伺服器地址brule:latest:應用名稱,根據自身項目名稱修改

利用上面創建好的操作系統鏡像啟動一個vmware虛擬機,創建k8s容器。

參數說明:brule:應用名稱,根據自身項目名稱修改,應用名稱規范?(.?)*image:剛才創建的docker鏡像containerPort:容器啟動埠,多個埠使用多行containerPort標簽聲明,埠限制在【30000-32000】

前面vmware虛擬機創建好後,怎麼能讓別人訪問?這個時候就需要創建一個網路服務,用於打通路由器與vmware本地虛擬機的網路。

參數說明:brule:應用名稱,根據自身項目名稱修改port:容器啟動埠nodePort:對外提供服務埠,外部機器訪問

將上面配置好的shell腳本復制到Post Steps -> 執行shell文本域中,並點擊"保存" -> "立即構建"即可部署。

1、進入剛才創建好的jenkins任務,點擊立即構建

2、點擊左下角構建任務,選擇"Console Output",查看構建日誌

3、登錄rancher管理平台,查看構建好的應用

基於J2EE項目的war包部署,前面操作都一致,只是shell部署腳本稍有不同,這里主要詳細說明rancher部署腳本。

Dockerfile參數說明:FROM:選擇基礎鏡像包,war統一使用tomcat容器部署,tomcat:8.5-jre8-slimADD:將operation.war文件解壓並上傳到鏡像的/usr/local/tomcat/webapps/目錄EXPOSE:容器內部啟動8080埠,根據自身項目填寫指定埠,多個埠填寫多行EXPOSE標簽

這里不需要配置ENTRYPOINT標簽,因為tomcat鏡像包中已經有了。

用於創建docker鏡像,就好比創建一個已經安裝並且配置好了應用程序的操作系統鏡像。

參數說明:192.168.100.21:5000:為本地docker鏡像伺服器地址operation:latest:應用名稱,根據自身項目名稱修改

利用上面創建好的操作系統鏡像啟動一個vmware虛擬機,創建k8s容器。

參數說明:operation:應用名稱,根據自身項目名稱修改image:剛才創建的docker鏡像containerPort:容器啟動埠,多個埠使用多行containerPort標簽聲明,埠限制在【30000-32000】

前面vmware虛擬機創建好後,怎麼能讓別人訪問?這個時候就需要創建一個網路服務,用於打通路由器與vmware本地虛擬機的網路。

參數說明:operation:應用名稱,根據自身項目名稱修改port:容器啟動埠nodePort:對外提供服務埠,外部機器訪問

將上面配置好的shell腳本復制到Post Steps -> 執行shell文本域中,並點擊"保存" -> "立即構建"即可部署。

基於webpack構建的VUE項目部署,前面操作都一致,只是shell部署腳本稍有不同,這里主要詳細說明rancher部署腳本。

Dockerfile參數說明:FROM:選擇基礎鏡像包,前端統一使用tomcat容器部署,tomcat:8.5-jre8-slimCOPY:將/dist目錄上傳到鏡像的/usr/local/tomcat/webapps/fastquery/目錄EXPOSE:容器內部啟動8080埠,根據自身項目填寫指定埠,多個埠填寫多行EXPOSE標簽

這里不需要配置ENTRYPOINT標簽,因為tomcat鏡像包中已經有了。

用於創建docker鏡像,就好比創建一個已經安裝並且配置好了應用程序的操作系統鏡像。

參數說明:192.168.100.21:5000:為本地docker鏡像伺服器地址operation:latest:應用名稱,根據自身項目名稱修改

利用上面創建好的操作系統鏡像啟動一個vmware虛擬機,創建k8s容器。

前面vmware虛擬機創建好後,怎麼能讓別人訪問?這個時候就需要創建一個網路服務,用於打通路由器與vmware本地虛擬機的網路。

參數說明:shutcm-fastquery-web:應用名稱,根據自身項目名稱修改port:容器啟動埠nodePort:對外提供服務埠,外部機器訪問

將上面配置好的shell腳本復制到Post Steps -> 執行shell文本域中,並點擊"保存" -> "立即構建"即可部署。

熱點內容
php辦公系統 發布:2025-07-19 03:06:35 瀏覽:900
奧德賽買什麼配置出去改裝 發布:2025-07-19 02:53:18 瀏覽:42
請與網路管理員聯系請求訪問許可權 發布:2025-07-19 02:37:34 瀏覽:189
ipad上b站緩存視頻怎麼下載 發布:2025-07-19 02:32:17 瀏覽:844
phpcgi與phpfpm 發布:2025-07-19 02:05:19 瀏覽:527
捷達方向機安全登錄密碼是多少 發布:2025-07-19 00:57:37 瀏覽:694
夜魔迅雷下載ftp 發布:2025-07-19 00:39:29 瀏覽:99
增值稅票安全接入伺服器地址 發布:2025-07-19 00:20:45 瀏覽:486
solidworkspcb伺服器地址 發布:2025-07-18 22:50:35 瀏覽:823
怎麼在堆疊交換機里配置vlan 發布:2025-07-18 22:42:35 瀏覽:630