Jenkins部署前端项目

记录一下Jenkins部署前端项目的坑

思路

首先需要准备两台服务器,一台服务器为应用服务器,安装了Nginx, 一台服务器为Jenkins服务器,安装了Jenkins,两台服务器安装方式都是docker,项目在Jenkins服务器打包完成之后,传输到应用服务器Nginx配置好的目录下即可

docker安装Jenkins

只需要按照Jenkins官网指南中所述步骤进行安装即可,在这里不做详细介绍

安装以及配置Jenkins插件以及ssh免密登录配置

这里我们需要用到的插件有 Git Nodejs Publish over sshJenkins系统管理->插件管理中搜索下载安装之后对他们进行配置

Git插件配置

  • 这个插件是为了让Jenkins可以使用git命令去远程仓库拉取代码
  • Jenkins系统管理->全局工具配置中找到Git的配置项,指定Git命令所在目录,如下图:
Jenkins部署前端项目_第1张图片 Jenkins部署前端项目_第2张图片

NodeJS插件配置

  • 这个插件是为了让Jenkins可以使用node命令和npm命令,是前端项目构建所必须的
  • Jenkins系统管理->全局工具配置中找到Nodejs的配置项,公网环境下配置比较简单,勾选自动下载即可,如下图:
Jenkins部署前端项目_第3张图片

Publish over ssh插件配置

  • 这个插件是为了让Jenkins可以发送远程shell命令在应用服务器执行,据说可以将打包之后的文件传输到远程服务器,但是我这边没有成功,最后使用ssh免密登录处理之后scp命令复制到远端服务器
  • Jenkins系统管理->系统配置中找到Publish over SSH的配置项,如下图:
Jenkins部署前端项目_第4张图片

ssh免密登录

  • 在Jenkins服务器使用docker exec -it [容器名称或ID] bash进入Jenkins容器内部
  • 使用ssh-keygen -t rsa命令生成一对秘钥
  • 使用 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]命令将公钥发送给应用服务器,这里的root为应用服务器的用户,192.0168.0.2则是应用服务器地址,之后会要求输入该用户名所对应的密码,输入之后回车即可完成ssh免密登录

创建以及配置自动化构建项目

直接点击new item创建一个新的任务,如下图: Jenkins部署前端项目_第5张图片

Jenkins部署前端项目_第6张图片 Jenkins部署前端项目_第7张图片 Jenkins部署前端项目_第8张图片

这里说一下scp命令的用法:

scp -r [文件/文件目录] [应用服务器用户名]@[应用服务器IP]:[应用服务器目录] 
  • -r表示将后面所述目录下所有文件拷贝到指定应用服务器目录下
  • 这里的用户名即上面ssh免密登录时配置的用户名

使用webhooks进行自动部署

由于github是国外站点,如果没有科学上网,那么访问速度一言难尽,所以这里使用gitee

第一步下载并且配置Gitee插件

安装

下载安装的方式和上面几个插件一样,不做详细解释

配置

安装完之后回到Jenkins上面创建好的项目配置里边勾选Gitee webhook触发构建,如下图:

Jenkins部署前端项目_第9张图片 Jenkins部署前端项目_第10张图片

最后

整理了75个JS高频面试题,并给出了答案和解析,基本上可以保证你能应付面试官关于JS的提问。



有需要的小伙伴,可以点击下方卡片领取,无偿分享

你可能感兴趣的:(jenkins,前端,运维)