系統配置-插件管理-可選插件,搜索nodejs,直接安裝html
能夠直接所有選擇不填,可是建議勾選丟棄舊的構建node
這裏丟棄舊的構建是指 丟棄以前的構建記錄。nginx
以下圖,這是Jenkins的構建記錄,能夠選擇保留的天數以及保留的條數。web
這裏爲了解決GitHub使用https,常常報443的問題,使用ssh方式,進行代碼的管理。docker
點擊 添加按鈕,添加私鑰,具體請查看另外一篇文章。shell
若是你不但願使用ssh,那麼請直接選擇npm
用戶名密碼憑證服務器
直接選擇GitHub hook trigger for GITScm pollingmarkdown
選擇執行shell,這裏請安裝cnpm,構建速度快,且容易報錯。ssh
echo $PATH
node -v
npm -v
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install
npm run build
# 若是部署到服務器的話,建議打包
cd dist
tar -zcvf dist.tar.gz *
複製代碼
這裏咱們時使用docker安裝的Jenkins, 若是你部署的服務器就是jenkins服務器,那能夠直接經過宿主機-容器共享卷的方式部署。由於比較簡單,這裏簡單的說一下:
可是,會存在發佈到遠程服務器的狀況,下面着重介紹一下:
一、安裝Publish Over SSH插件
首頁 -> 點擊系統管理 -> 管理插件 ->可選插件 -> 過濾:ssh -> 選擇Publish Over SSH插件,點擊直接安裝
二、配置SSH
系統管理 -> 系統設置 -> 下拉,找到Publish over SSH
下面有一個test configuration 按鈕,點擊測試,sussess表示鏈接成功。
cd /home/share/blog/www
tar -zxvf dist.tar.gz
rm -f dist.tar.gz
複製代碼
一、下載鏡像
docker pull nginx
複製代碼
二、啓動nginx容器
docker run -d -p 9999:80 --name nginx nginx
# 這裏將容器的80端口映射到9999端口,訪問ip:9999 便可
# -d 後臺運行
複製代碼
三、找到容器中nginx的位置
三、在宿主機和nginx容器之間創建數據卷
nginx.conf 配置文件
logs 日誌文件
www 源代碼部署文件
!!! 若是直接執行下面的命令的話,可能會報錯,Are you trying to mount a directory onto a file or vice-versa,「由於不能掛載文件,只能掛載文件夾,因此先在容器中複製一份配置文件。」
「第一步已經啓動了一個nginx,因此能夠直接拷貝」
mkdir -p /home/share/blog/conf /home/share/blog/logs
拷貝配置文件到工做目錄
docker cp -a nginx:/etc/nginx/nginx.conf /home/share/blog/conf
複製代碼
宿主機(本身決定) | 容器(容器啓動後自動生成的) |
/home/share/blog/www | /usr/share/nginx/html |
/home/share/blog/conf/nginx.conf | /etc/nginx/nginx.conf |
/home/share/blog/logs | /var/log/nginx |
首先中止以前的容器並刪除
複製代碼
docker stop nginx
docker rm nginx
複製代碼
從新啓動容器並掛載工做目錄
複製代碼
docker run -d --restart always -p 9999:80 -v /home/share/blog/www:/usr/share/nginx/html -v /home/share/blog/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/share/blog/logs:/var/log/nginx --name nginx nginx
// --restart always
// 表示docker重啓時會自動重啓該容器
複製代碼