系统配置-插件管理-可选插件,搜索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重启时会自动重启该容器
复制代码