一、分析准备
接上文,我们的前端代码是通过git管理的,需求是通过Jenkins拉取前端VUE代码并且编译生成待部署的部署包。经过分析,我们需要做如下的准备:
1、在Jenkins的机器上安装jdk、git、noodjs环境,并且在Jenkins上安装上述相关插件,配置全局工具变量。
2、获取并配置公钥私钥,使得Jenkins有权限拉取git项目的代码;
PS:项目的情况如下
Jenkins机器 |
1台,部署在windows机器 |
项目语言 | VUE纯前端 |
项目部署服务器 | 1台,windows server服务器 |
二、环境准备
1)、插件安装
进入Manage Jenkins下的Manage Plugins菜单进行插件安装。
安装nodejs,用于后续VUE代码编译。
安装git(组件太多,建议都安装了),用于后续拉取git项目代码。
安装SSH(组件太多,建议都安装了),用于后续通过SSH发布代码到windows server服务器。
2)、全局工具配置
需要先在Jenkins部署的机器上安装JDK、nodejs、git相关环境(自行百度),然后在全局工具配置中配置其安装路径,使得后续在Jenkins项目中可以正常选择到这些。
进入Global Tool Configuration中Manage Jenkins下进行安装路径配置。
配置JDK配置git
配置nodejs
3)、Jenkins机器生成密钥
大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。
在Jenkins服务器上执行命令ssh-keygen,生成公钥私钥,一路回车即可。
生成的公钥私钥在C:Users你的用户名.ssh文件夹中(笔者为windows机器部署的Jenkins),其中生成的id_rsa是私钥、id_rsa.pub是公钥,公钥将放入想要连接的机器(如项目服务器)、系统(如git)中,私钥则供访问者(即本机Jenkins)使用
顺便说明下known_hosts的作用。
好了,如上的步骤进行完成后,Jenkins机器就生成了公钥和私钥了。接下来将其放到配置到想要访问的机器/系统即可。
4)、配置Jenkins+git密钥
得到上述公钥私钥后,需要在Jenkins和git两处进行密钥配置。
a)、Jenkins私钥配置
Jenkins配置密钥有两种方式,一种是在全局配置中配置全局凭证,然后在新建的项目任务中直接选择即可。另外一种是直接在新建的项目任务中配置。下面介绍第一种方式。
进入凭证管理
将私钥id_rsa文件打开,复制里面的内容到下图
保存后生成上图的全局凭证,该步骤完成,接下来去git配置公钥。
b)、git私钥配置
git也使用密钥拉取代码到本地,首先登录有项目权限的用户账号到gitlab。点击头像进入用户设置-SSH密钥配置页面。如下图所示,提示已经十分明显,将Jenkins机器生成的公钥即id_rsa.pub的内容复制到下图即可,复制进去后标题会自动生成。
注意:其实大家注意使用这种方式的本质是用某个开发人员的账号去下载git上的代码然后编译。
b)、结果验证
上述配置主要是为了Jenkins能够正常拉取gitlab的代码,下面对此进行验证。
新建1个自由风格的项目。
填入项目的git地址、分支名称,选择刚刚添加的全局凭证。
下图是正确情况下的截图。
好了,到上面为止。我们实现了Jenkins能拉取gitlab的代码。