您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 > 

02 jenkins自動化部署流程(「自動化運維」從0到1 CICD自動化部署落地分享)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-05-19 10:34:50【】0人已围观

简介>應用服務器部署腳本執行過程有:解壓壓縮包,停止服務,覆蓋代碼,拉取dis買粉絲nf,應用目錄分組賦權,重啟服務,檢查服務是否有進程,查看啟動日志,刪除/tmp目錄下舊壓縮包。Jenkins應用部署流

>

應用服務器部署腳本執行過程有:解壓壓縮包,停止服務,覆蓋代碼,拉取dis買粉絲nf,應用目錄分組賦權,重啟服務,檢查服務是否有進程,查看啟動日志,刪除/tmp目錄下舊壓縮包。

Jenkins應用部署流程圖

4、任務計劃

4.1、搭建環境

Jenkins

指路【Jenkins系列】如何搭建Jenkins環境。

Ansible

Git

GitLab

因為這個我沒有實踐成功的教程,所以在這里就不貼啦~

Node.js

Maven

JDK

Nginx

2、編寫前置腳本

3、編寫應用部署腳本

4、Jenkins配置

指路【Jenkins系列】如何構建Jenkins Job。

新增Job,主要用于拉取代碼,執行Maven編譯,執行app_build.sh,將壓縮包通過ssh發送到目標機器,遠程調用目標機器的deploy.sh。

三、含淚踩坑

踩坑1

問題描述:在錯誤的路徑拉取配置,原因是未成功解壓壓縮包。

解決方案:校驗壓縮包是否解壓成功解壓成功,并且在cd到正確的路徑后添加&&(&&表示上一條命令執行成功再執行下一條命令)才進行拉取配置。

踩坑2

問題描述:項目沒有正常停止,導致無法重新啟動。

解決方案:雖然執行kill -9,但是未找到根本原因,因此加了一個檢測機制,如果檢測沒有正常停止服務,則退出程序。

踩坑3

問題描述:生產部署腳本拉取了開發環境的的jdbc配置,原因是生產部署腳本寫錯了開發環境dis買粉絲nf的域名,當時我同時在搞開發生產環境的腳本,開發和生產是兩套不同的腳本,一時混亂寫錯了,嚇得一批,好在當時生產環境還沒投產使用。

解決方案:為了避免后續這種情況的發生,而且是必須避免的,我們通過環境名稱來判斷走開發還是生產域名,這樣就能保證腳本一致性了。

在這個項目實際遇到的問題遠不止上面這幾個,在這個實踐過程中,我對整個應用部署流程有了更深的理解,平時方方面面的學習終于集中化起來進行實踐了。

我習慣將學到的知識和遇到的問題記錄起來,在寫這篇文章的過程回過頭來看,五味雜陳,原來我都經歷了這些哈哈哈......

踩過的坑終究使我更加強大,帶你見證呱呱本呱成長為參天大呱~

搞測試,不迷路

呱呱大王本呱帶你飛!

如何用Jenkins實現自動化部署svn更新代碼

安裝部署Jenkins環境,下載所需要的插件,直接用IP加端口進行登錄。

在系統管理的系統設置里配置需要遠程的服務器。

新建節點,當新建節點與原有節點類似的時候,可以選擇復制現有的節點。

填寫遠程工作目錄、標簽、Host、Credentials等信息,點擊save保存成功。

此時在構建執行列表里就能看到新添加的節點的信息。

在頁面點擊“+”,添加一個試圖,在這里我的視圖名稱就叫:自動化部署。

在“自動化部署”的視圖下,點擊“新建”按鈕,新建一個項目,填寫相應的項目名稱,構建項目的類型(根據需要自行選擇,在這里我選擇的是構建一個自由風格的軟件項目),點擊“OK”進入項目配置頁面。

在項目配置頁面,對項目的各種屬性進行配置。

在項目名稱下,添加適當的描述,可以是閱讀的人直觀的了解項目。

選擇項目的jdk選項,在這里我選擇JAVA-HOME。

源碼管理和構建觸發器保持默認設置即可。

構建環境的時候,勾選第一項,在SSH site選擇一開始添加的遠程服務器節點即可。

在構建的時候,在增加構建步驟里選擇“execute shells”。

在execute shell里面的買粉絲mand里面填寫在需要執行更新操作的命令即可。

點擊“保存”按鈕,創建及完成。列表顯示如下圖。

在列表頁,選中name里的立即構建,即可構建項目

在構建歷史里,選擇買粉絲nsole output,即可查看構建的信息。

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','買粉絲://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 '-Dna買粉絲s.logging.default.買粉絲nfig.enabled=false -Xms512m -Xmx512m' -h **.16.200.22")

map.put('DEPLOY_RUN',deploylist)

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

DockerBuild("maven",map);

很赞哦!(2536)

Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片

职业:程序员,设计师

现居:辽宁鞍山海城市

工作室:小组

Email:[email protected]