• 【CI/CD】使用Jenkins部署VUE项目到windows服务器_配置Jenkins拉取git代码(2)


     一、分析准备

     接上文,我们的前端代码是通过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的代码。

  • 相关阅读:
    程序编译的四个阶段
    c++的符号表的肤浅认识
    git高级用法之cheery-pick
    rust 使用国内镜像,快速安装方法
    protobuf 的enum与string转换
    c++ 获取GMT 时间和字符串
    proto3 不支持内建类型的非空判断即 hasXXX
    cmake 中的 compile_commands.json 文件
    整数划分问题(记忆化搜索和DP方法)
    查找系列合集-二分查找
  • 原文地址:https://www.cnblogs.com/chooperman/p/14061469.html
Copyright © 2020-2023  润新知