Jenkins 系列會從
Ubuntu的服務端部署、
Linux節點的Python服務自動化構建、
Windows節點Python服務自動化構建、
Vue服務自動化構建、
監控服務自動化構建、
用戶權限控制 幾個方面進行介紹
Linux節點的Python服務自動化構建
首先介紹下前提條件:節點服務器有Python運行環境
Linux節點配置
節點串列
可以點擊 構建執行狀態 進入節點串列

也可以點擊 系統管理 的 節點管理 進入節點串列

節點串列

新建節點
填寫節點名稱 選擇固定節點 或者 復制現有節點的 配置

- 執行器數 是服務器可以同時進行構建的個數,單一服務器上的部署的專案比較多時,可以增加執行器數量來加快構建速度
- 遠程作業目錄 是Jenkins遠程的服務,采集器、專案作業目錄都會創建在這個作業目錄下
- 用法 我選擇的指定機器的任務
- 啟動方式 Launch agents via SSH 沒有這個選項的查看下已安裝的插件

- 添加服務器憑據

配置好就可以 保存 并 上線節點了
上線后的節點 就可以在點在串列中看到了
此時登錄服務器 可以看到遠程作業目錄下會有 如下的檔案

SVN操作
- 有權限的SVN URL 和 用戶賬戶資訊
- 在專案服務下創建 master 目錄 作為開發目錄使用
- 在專案服務下創建 release 目錄 作為Tags目錄使用 在下面的構建引數 svn_release 中使用
- 創建 Tags 到 release 目錄
創建目錄

創建Tags
填寫要保存的 版本名稱 和 版本描述,點擊 OK

創建任務
新建任務
新建任務 填寫 任務名稱 選擇 構建一個自由風格的軟體專案

構建引數
構建引數我這里添加了:
- gunicorn_path(啟動FastAPI專案)
- port 啟動埠 下面的構建 shell 中有用到
- workers 啟動執行緒數埠 下面的構建 shell 中有用到
- main_file 專案構建時 代碼會更下在 workspace 目錄下的 有任務名稱命名的目錄下,$JOB_NAME 是獲取任務名稱,這樣可以方便重啟時定位行程 下面的構建 shell 中有用到
- app_name 意義不大 下面的構建 shell 中有用到
- deploy_env 執行的操作 分為 restart start stop
- svn_release 加載專案的 tags,展示最新的 50 tags 沒有這個引數時 需要安裝 Jenkins SVN 插件 下面的原始碼管理 URL 中有用到




原始碼管理
原始碼管理這個的 SVN URL ,每次構建時會在作業目錄下 更新 選擇的svn_release版本對應的 原始碼,以實作 版本控制的 效果,


構建

執行shell 分為三個情況,執行情況由構建引數 deploy_env 決定
- start 使用gunicorn啟動專案
- restart 根據 main_file 殺死舊的行程并啟動新的代碼
- stop 根據 main_file 殺死舊的行程
- BUILD_ID=dontKillMe解決 Jenkins shell 無法后臺運行的問題
echo $deploy_env
case $deploy_env in
start)
echo "start: $deploy_env"
cd .. \
&& BUILD_ID=dontKillMe $gunicorn_path/gunicorn $main_file:$app_name -b 0.0.0.0:$prot -w $workers -k uvicorn.workers.UvicornH11Worker --daemon
;;
restart)
echo "restart: $deploy_env"
pid=` ps -ef|grep $main_file|grep -v "grep"|awk '{print $2}'`
for id in $pid
do
kill -9 $id
done
cd .. \
&& BUILD_ID=dontKillMe $gunicorn_path/gunicorn $main_file:$app_name -b 0.0.0.0:$prot -w $workers -k uvicorn.workers.UvicornH11Worker --daemon
;;
stop)
echo "stop: $deploy_env"
pid=` ps -ef|grep $main_file|grep -v "grep"|awk '{print $2}'`
for id in $pid
do
kill -9 $id
done
;;
*)
exit
;;
esac
構建任務
- 選擇要構建的版本
- 選擇要執行的操作
- 點擊開始構建
構建時的效果

構建日志
執行順序:
- 拉取原始碼
- 執行shell
- 構建后操作(這里沒有配)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/1436.html
標籤:其他
下一篇:【Vue】 生命周期, created,mounted, methods , computed , watched
