一、背景:

原来的测试环境 jenkins 机器内存不足, 导致前端打包时内存溢出, 不能成功
在这里插入图片描述

二、材料:

2台服务器 ( 1台应用服务器 nginx, 1台工具 jenkins + git )

  • 理论上也可以一台机器或者在原有的jenkins 下增加节点来解决, 此处为了梳理一下完整流程就重新搭建了

三、安装jenkins:

  1. docker 安装并启动 jenkins , 关于环境问题可参考其他帖子
    1.1 这里我将端口映射到了本机的 30001 端口
    1.2 将工作目录映射到了本机的 /data/jenkins_home
    1.3 后台运行
    1.4 使用 docker ps 查看启动情况
    在这里插入图片描述
// 获取jenkins镜像
docker pull jenkins/jenkins
// 启动
docker run -dp 30001:8080 -p 50000:50000 --name jenkins -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins
  1. 使用命令进入docker 查看秘钥, 第一次进入会使用到 (因为上面是后台运行的, 所以看不到安装时给的秘钥串)
// 查看镜像
docker ps

// 进入镜像
docker exec -it 22949f27b97d /bin/bash

// 查看初始化秘钥
cat /var/jenkins_home/secrets/initialAdminPassword
  1. 访问机器的 30001 端口, 或自己代理出去的域名
    3.1 输入上一步拿到的 秘钥 ,根据提示输入
    3.2 安装推荐的插件或根据自己需要安装插件, 如果遇到安装不了, 提示重试的话, 大多是网络问题,可以手动配置 宿主机 /data/jenkins_home/hudson.model.UpdateCenter.xml 中的地址, 可以改成 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json (国内的一个地址, 修改之后 执行 docker restart jenkins 重启服务)
    在这里插入图片描述
    在这里插入图片描述
  2. 根据提示设置管理员账号或直接使用admin(要记得去设置一下admin的密码)
  3. 进入 系统管理- 插件管理 , 搜索安装 插件, 装完执行 docker restart jenkins 重启一下 jenkins
插件名称用途
Publish Over SSH访问远程主机, 可以用来将打包后的文件拷贝到nginx 机器
Git plugin访问git
Qy Wechat Notification Plugin通过webhook向企业微信推送通知
SSH Agent Plugin

在这里插入图片描述

四、配置与nginx 机器的链接

  1. cat ~/.ssh/id_rsa 获取私钥
  2. 进入 jenkins 系统管理-系统配置 ,将私钥 粘贴到 Publish over SSH 的 Key 栏 (如果没有这个选项, 则可能是插件没有安装成功)
  3. 点击新增server 填写相应信息后 测试连接是否正常, 正常会返回 Success
    在这里插入图片描述

在这里插入图片描述

五、配置 gitlab 账号

  1. 进入后台系统管理-凭据, 继续点击条目-添加凭据
    在这里插入图片描述

六、配置任务

在这里插入图片描述

  1. 新建任务
  2. 填写项目地址
  3. 选择凭据
  4. 设置分支
  5. 构建触发器 勾选 Build when a change is pushed to GitLab. 后面有个url 记下来, 要用
  6. 点击 Generate 创建一个 token , 这个token 记下来, 要用
    在这里插入图片描述

在这里插入图片描述

  1. 进入gitlab 项目下, 点击 设置 - 导入所有仓库 , 其中 url 和 令牌 两个为 上面第 5,6 步骤产生的, 勾选对应的触发器
    在这里插入图片描述
  2. 构建配置, 根据自己的项目增加构建选项及构建后操作

在这里插入图片描述
在这里插入图片描述
9. 增加一个构建后步骤, 发送通知到企业微信
在这里插入图片描述

七、最终效果, gitlab推送代码即触发自动打包发布

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐