1、安裝nodejs插件
插件安裝完成之后需要重啟jenkins才能生效;
重啟方式:http://(域名/ip):8080/restart
2、配置nodejs
Jenkins--->Global Tool Configuration
cnpm --registry=https://registry.npm.taobao.org
這地方如果是docker啟動的jenkins,建議自動安裝nodejs;如果jenkins是直接在雲主機或者物理機上,則也可以使用自定義安裝;還有需要注意的一點就是一定要安裝跟項目對應的nodejs版本,否則版本不對應,構建的時候會有各種奇怪的問題;
3、構建一個自由風格vue項目
1、General
非必填項,如果不寫則構建天數和構建個數會一直累加;
2、Source Code Management
從gitlab拉取代碼的超時時間建議調大點,默認10min,如果一些大型項目,而gitlab的帶寬又比較小的話,10min是拉不下來的,所以建議調大點;
3、Build Triggers
觸發器選擇Build when a change is pushed to GitLab,GitLab webhook URL
4、Build Environment
此處就是上面全局配置中定義的nodejs版本;
5、Build
echo $PATH node -v npm -v npm config set registry http://registry.npm.taobao.org npm config get registry npm install npm run build:test tar -zcvf dist.gz ./dist
###如果有某個文件不想被打包上傳到服務器則加--exclude參數忽略###
示例:忽略node_modules目錄,忽略package.json、nuxt.config.js文件
tar -zcvf dist.gz --exclude=./node_modules ./* --exclude=package.json --exclude=package.json package-lock.json --exclude=nuxt.config.js
6、Post-build Actions
#!/bin/bash . /etc/profile &> /dev/null; . ~/.bash_profile &> /dev/null; if [ -d "/data/admin/dist" ] then time=`date +%Y-%m-%d-%H:%M` cp -R /data/admin/dist /data/admin/dist.$time else echo "no file" fi if [ -f "/data/admin/dist.gz" ] then tar -xvf /data/admin/dist.gz -C /data/admin/ else echo "no file" fi
這項步驟一定不要省,雖然增加這個步驟會增加后續的構建時間,但是相比不加這項步驟構建的時候出現的各種個樣奇怪的問題,犧牲點構建時間是值得的;