一、背景:

原来的测试环境 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全生命周期开发者社区

更多推荐