jenkins+gitlab+nginx自動化部署和反向代理配置採坑

先說Jenkins,安裝就不說了,網上一大推,這裏貼一個地址:https://jenkins.io/zh/
安裝成功後首頁面類似這樣的:
在這裏插入圖片描述
開始新建一個jenkins任務:輸入一個任務名稱,前端我們統一都是XXX-WEB
在這裏插入圖片描述
新建項目後點擊確認進入項目配置界面:
這裏選擇丟棄舊有項目
在這裏插入圖片描述
接着下一步源碼管理:
公司集成的是gitlab,這裏就選擇用gitlab地址
Credentials這裏的配置需要注意
如果沒有可添加的需要點擊添加新建一個
在這裏插入圖片描述
出現異常就是Credentials添加不正確,主要要使用私鑰
在這裏插入圖片描述
異常會出現如下:
在這裏插入圖片描述
正確配置應該如下
在這裏插入圖片描述
接着往下走:
構建觸發器和構建環境都可以不選擇
在這裏插入圖片描述
構建這裏選擇執行shell:
在這裏插入圖片描述
shell執行的腳本文件如下:
這裏先插入代碼在截圖:

#!/bin/bash
export BUILD_ID=my-web
//因爲構建的任務有點多,名字稍加區分,這裏是取的是jenkins和nginx的路徑,後面會講解nginx的配置
vue_path2=/root/.jenkins/workspace/my-web/dist/*
nginx_path2=/usr/share/nginx/html/dist/my-web
//以下內容不用修改
echo "install vue project"
npm install
npm run build

echo "stop nginx" 
service nginx stop

echo "Remove vue file" 
rm -rf ${nginx_path2}/*

echo "deploy vue project" 
cp -rf ${vue_path2} ${nginx_path2}

echo "restart nginx" 
service nginx restart

在這裏插入圖片描述
編輯完後保存 ,然後點擊構建
在這裏插入圖片描述
我們在控制檯可以看到:
在這裏插入圖片描述
我們在jenkins路徑上能看到已經有這個目錄了
在這裏插入圖片描述
我們這裏是因爲這下面的目錄只能手動構建,我們取報錯的路徑取看看 我們看到指定的路徑裏面沒有my-web這個目錄,我們手動新建一個

在這裏插入圖片描述
mkdir my-web
在這裏插入圖片描述
我們看到目錄添加成功了,然後裏面的文件是空的我們在重新構建一下my-web的任務
在這裏插入圖片描述
我們看到執行成功了 我們再看下nginx下的目錄有麼有文件
在這裏插入圖片描述
我們可以到文件已經有了
在這裏插入圖片描述
接下來就是nginx的配置了,進入nginx代理配置修改問題

vim /etc/nginx/conf.d/default.conf
server {
    listen       7954;//這裏是監聽的端口設置
    server_name  172.30.251.16;
# Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

        location / {
                root /usr/share/nginx/html/dist/dtgd_template;//這裏是我們nginx裏存放的地址
                index  index.html index.htm;//不用修改
                try_files $uri $uri/ /index.html;//不用修改
        }
        //因爲我們選擇的是微服務架構,會有很多個接口服務,這裏是來做接口代理的請求遇到keyguard就把請求轉發到代理的路徑
  		location  /keyguard {
                     proxy_pass http://172.30.251.16:2001/keyguard/v1;
                        }
  	    location  /iwms {
                     proxy_pass http://172.30.251.16:2002/iwms/v1;
                        }
        location  /scc {
                     proxy_pass http://172.30.251.16:2003/scc/v1;
                        }

}

我的接口配置:

export function selectrole(query) {//查詢角色列表
  return request({
    url: '/keyguard/roles',
    method: 'get',
    params: query
  })
}

配置完成後保存退出 :wq,重啓nginx服務service nginx restart
在這裏插入圖片描述
我們直接訪問端口172.30.251.16:7954
在這裏插入圖片描述
OK,這裏就全部完成了,
在這裏插入圖片描述

發佈了23 篇原創文章 · 獲贊 3 · 訪問量 7078
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章