更新地址: https://sunseekerx.yoouu.cn/common/jenkins.html更新時間:2020-05-05 20:39:33html
Jenkins
安裝查看Docker
章節。vue
Jenkins
第一次安裝完成最好重啓一下,由於若是安裝了語言包有些地方仍是英文的。應該是個bug。node
Vue
項目+Git
Jenkins
環境在本地寫好代碼,一旦提交到Git
,經過web-hook
,觸發Jenkins
的自動構建任務,Jenkins
自動從Git
上面拉取代碼>安裝依賴>打包>發送到部署的服務器等一系列操做。web
簡單來講,我本地寫好代碼,我提交到
Git
以後,就有個東西幫我打包發送到服務器。我不須要管這些事,我只要寫代碼、測試、推代碼就完事了。
目前須要實現的就是這樣的功能,但Jenkins
能作的不僅是這麼多。不過對於我目前的項目來講足夠了。shell
Publish Over SSH
見名知意,經過ssh
發佈,用來將打包好的項目用ssh
鏈接的方式發送到部署的服務器,而且執行其餘的命令。
ctrl+f
搜索ssh
,直接安裝Publish Over SSH
插件(不要用自帶的過濾搜索沒用)ssh
插件這裏要配置的部署網站的服務器,我採用的方式是密碼登陸,也能夠配置密鑰文件登陸的。看你的喜愛。
Publish over SSH
SSH - Server
name
標識該服務器的Hostname
服務器的IP
Username
填寫服務器的用戶Use password authentication, or use a different key
Passphrase
填寫密碼Test Configuration
測試下是否鏈接成功nodejs
插件安裝nodejs
插件(Jenkins
目前好像沒法使用外部的nodejs
)npm
這個插件用來打包vue項目,跟咱們本身本地執行
yarn build
等命令無區別。
ctrl+f
搜索nodejs
,直接安裝nodejs
插件(不要用自帶的過濾搜索沒用)選擇新增 NodeJSbash
node 12.16.3
12.16.3
,這是目前穩定的長期支持版本新建項目
- 選擇自由風格項目
Git
個人文檔項目訪問是公開的,能夠直接訪問,若是是私有項目還須要配置一個可訪問的帳號才能夠。就是下面
Credentials
選項。
勾選
GitHub hook trigger for GITScm polling
,這是一旦咱們推送代碼就會觸發構建。
勾選Provide Node & npm bin/ folder to PATH
,這是提供Node
命令給咱們使用。
執行shell
執行shell內容服務器
因爲內部的node
環境和外部隔離,因此咱們第一次使用的時候須要安裝yarn
和設置一些國內源。這一步咱們進行安裝依賴和打包項目,而且將打包的項目壓縮等待後續發送到部署的服務器上。ssh
# 進入Jenkins工做空間下hxkj項目目錄 cd /var/jenkins_home/workspace/sunseekerx # 下面的命令只須要執行一次,後續能夠刪除 ### # npm切換爲淘寶源 npm config set registry http://registry.npm.taobao.org/ # 安裝yarn npm i yarn -g # yarn切換爲淘寶源 yarn config set registry https://registry.npm.taobao.org ### # 安裝項目中的依賴 yarn # 打包 yarn build # 進入生成打包文件的目錄 cd docs/.vuepress/dist # 把生成的項目打包成壓縮包,方便移動到項目部署目錄 tar -zcvf sunseekerx.tar.gz *
執行完成以後會在服務器生成sunseekerx.tar.gz
,下一步就是把這個文件發送到指定部署的服務器。進行解壓。ide
這一步將上一步打包好的文件發送到服務器,而且解壓。
cd /www/wwwroot/sunseekerx.yoouu.cn \echo ">>>當前工做路徑:"`pwd` \shopt -s extglob \echo ">>>刪除:(.htaccess|.user.ini|sunseekerx.tar.gz)以外的文件" \rm -rf !(.htaccess|.user.ini|sunseekerx.tar.gz) \echo ">>>解壓:sunseekerx.tar.gz" \tar -zxvf sunseekerx.tar.gz -C ./ \echo ">>>移除:sunseekerx.tar.gz" \rm -rf sunseekerx.tar.gz \echo ">>>執行成功"
能夠看到服務器有了構建以後的文件
Webhooks
前提是Git
須要能訪問到你的Jenkins
,一旦有代碼提交上來,Git
就會去請求你這個地址,而後Jenkins
觸發構建動做。
簡單來講就是我提交代碼告訴Git
,Git
告訴Jenkins
你該構建了,完了Jenkins
去構建。Git
就像倉庫管理員,Jenkins
就是幹苦力的。😁
在本地修改一些文件,提交上去,稍等一下子查看Jenkins
,這個處於等待中的任務就是提交的任務
訪問https://sunseekerx.yoouu.cn/試試,更新成功🤣