天天看點

通過Jenkins持續建構flask項目初次啟動jen

上一篇介紹了​​如何把flask項目部署到伺服器​​

但是有個明顯的缺點:每次代碼更新都得重新打包上傳到伺服器,比較繁瑣

是以還是老套路啊,借助Jenkins和Gitee來實作代碼的自動部署,幸運的是幾年前寫過關于Jenkins使用的學習部落格,傳送門:​​Jenkins系列​​

參考之前的寫的文章,很順利地借助Jenkins把flask項目部署好了

整體步驟如下

1、在雲伺服器中部署Jenkins

因為我們要使用Jenkins來完成持續化建構,是以需要在伺服器上先部署一個Jerkins服務

我在Jenkins官網下載下傳了一個war包,然後借助tomcat部署好了,具體步驟可以百度下,網上教程很多,這裡不再贅述

如果遇到登入問題,可以參考 ​​初次啟動jenkins,輸入給定密碼後登入失敗問題解決​​

2、在jenkins中安裝必要插件

因為需要使用git來拉取代碼,是以要安裝git插件,安裝完成後需要配置git的路徑

具體參考 ​​jenkins之從0到1利用Git和Ant插件打war包并自動部署到tomcat(第二話):安裝插件,配置JDK、Git、Ant​​

通過Jenkins持續建構flask項目初次啟動jen

3、通過Jenkins拉取gitee項目代碼

(1)首先把本地代碼上傳至gitee倉庫

如果你的項目是私有項目,可能還需要配置一下部署公鑰

步驟如下:

連接配接伺服器,切換至~/.ssh目錄

通過Jenkins持續建構flask項目初次啟動jen

輸入指令ssh-keygen -t rsa -C "XXX" 生成公鑰(XXX自己定義一個名字)

通過Jenkins持續建構flask項目初次啟動jen

建立好的公鑰如下

通過Jenkins持續建構flask項目初次啟動jen

在碼雲的項目上添加部署公鑰

通過Jenkins持續建構flask項目初次啟動jen

(2)打開jenkins,建立一個自由風格的job,配置源碼管理,這裡需要填寫項目的git位址(SSH形式)

通過Jenkins持續建構flask項目初次啟動jen
通過Jenkins持續建構flask項目初次啟動jen

假如這裡提示認證失敗,可能需要添加一下認證方式Credentials

通俗來說就是 jenkins 拉取代碼時,伺服器需要進行一次驗證,這裡需要事先配置一下,配置方法如下

在jenkins首頁點選左側菜單欄中【Credentials】,然後右側會出現一個Credentials清單

通過Jenkins持續建構flask項目初次啟動jen

然後目光移到下方 Stores scoped to Jenkins,點選global

通過Jenkins持續建構flask項目初次啟動jen

然後再點選左側【Add Credentials】,進入添加頁面

通過Jenkins持續建構flask項目初次啟動jen
通過Jenkins持續建構flask項目初次啟動jen

Kind:下拉選擇框,選擇SSH Username with private key

Scope:按照預設就行

Username:可以随便填,是你為這個認證取的名字

Private Key:選擇【Enter directly】,然後直接把私鑰輸入進來。這裡的私鑰其實是你在安裝git為了把本地git倉庫和遠端git倉庫(github或gitee)關聯起來而建立的SSH KEY(不知道怎樣生成的可以去看看git教程)

通過Jenkins持續建構flask項目初次啟動jen

把id_rsa中的内容全部copy出來粘貼在這裡就行(說是私鑰,但是我試了下,使用id_rsa.pub也是可以的)

Passphrase:如果你在建立 ssh key 的時候輸入了 Passphrase 那就填寫相應的Passphrase,為空就不填寫 (我這裡就留白了,不過即使留白,如果建好後檢視資訊,還是會預設填上一串東西,我也不知道預設填寫的是什麼,不過沒影響到拉取代碼)

ID和Description可以不填

通過Jenkins持續建構flask項目初次啟動jen

這樣就建立好一個Credentials,然後在配置源碼管理時就可以填寫相應的Credentials了

4、在Jenkins中添加shell指令

拉取代碼後,還需要設定Jenkins,讓它執行shell指令來啟動flask項目

之前說過,啟動flask項目的指令如下

​[root@VM-8-3-centos flaskProject]# python3 run_main.py ​

如果想在Jenkins中,拉取項目代碼後執行啟動指令,需要在【建構環境】中添加shell指令,如下

通過Jenkins持續建構flask項目初次啟動jen

建構一次後,打開這個建構任務的控制台輸出,如下,項目已經正常啟動了

通過Jenkins持續建構flask項目初次啟動jen

為了試驗一下git代碼更新後,有沒有拉取新的代碼,我修改代碼中的一點内容,在下面這個檔案中加了一行數字

通過Jenkins持續建構flask項目初次啟動jen

然後在Jenkins中重新建構一下,打開工作空間,檢視這個檔案的内容

通過Jenkins持續建構flask項目初次啟動jen

确實多出來一串數字