Docker+Nginx+Jenkins+GitLab实现前端自动化部署

这是一个前端 vue 项目,不考虑代码回滚,代码版本控制的问题

参考

安装(略)

安装Jenkins插件

  • gitlab 代码仓库

  • Publish Over SSH SSH使用

  • nodejs Node JS 前端项目

  • Timestamper 输出时间

  • AnsiColor 输出颜色

jenkins中 Manage Plugins 搜索以下插件gitlabPublish Over SSHnodejs并安装。

安装完成后配置 nodejs环境 和 ssh参数 在首页选择 global tool Configuration > NodeJS选择自动安装和对应的nodejs版本号,选择成功后点击保存。

配置ssh信息,Manage Jenkins>configure System填写服务器的相关信息

关联Jenkins和gitlab

凭据管理Credentials Binding

# 进入 jenkins 容器
ssh-keygen -m PEM -t rsa -b 4096

# 进入 ~/.ssh目录

  id_rsa私钥文件 (jenkins上)

    系统管理--->Manage Credentials--->全局--->添加凭据--->ssh username with private key

       id: 取个名称,删除后,重新建,不用重新改流水线脚本 

       username: root

       private key: id_rsa

  id_rsa.pub公钥文件 (gitlab上)

    拷贝到 gitlab 的ssh key

新建项目

准备完毕后,开始新建一个任务,选择新建item>freestyle project构建一个自由风格的项目

源码管理

新建完成后,在源码管理中配置git信息,credentials选择我们刚刚添加的凭证。

构建触发器

构建触发器中选择我们触发构建的时机,你可以选择队友的钩子,比如push代码的时候,Merge Request的时候

点击高级选项找到secret token>Generate生成一个token值

配置成功后,还需要到gitlab中增加对应的钩子。记下上图的webhookURL(红线框出)和secret token值,到gitlab中进行配置。

注意:Jenkins 与 Gitlab 是在同一个服务器上,需要在 Gitlab 添加下出站信任

构建环境及构建配置

完成上述配置后,Jenkins 就和 Gitlab 关联起来,在本地 push 文件到 Gitlab 时,就会自动构建,访问远程地址就可以访问修改完成后的项目,同样也可以在Jenkins上手动构建,

Last updated