先說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,這裏就全部完成了,