mac本地jekins部署gitee前端项目到服务器

5 阅读3分钟

本地部署好处就是节省服务器资源😄,需要代码push后自动部署需要额外的内网穿透或者部署到服务器上。

一、jenkins 相关依赖安装及登录

1. 安装 brew (如果未安装)
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2. 安装 JDK
brew install openjdk@21
3. 安装 jenkins
brew install jenkins-lts
4. 启动/停止 jenkins
// 启动
brew services start jenkins-lts

// 停止
brew services stop jenkins-lts
5. 获取初始密码
cat ~/.jenkins/secrets/initialAdminPassword

上面命令在第一次启动 jenkins 时候命令行窗口会有提示 在你首次通过 Web 界面完成以下任一操作后,会自动删除 initialAdminPassword 文件

6. 浏览器访问

localhost:8080
可以执行ps aux | grep jenkins | grep -v grep查看jenkins进程,查看端口等信息

7. 创建管理员账号

需要填写账号密码之类的,按提示填写就行了;有推荐安装依赖,选择默认推荐就行;

二、jekins 配置

【系统管理】【插件管理】【available plugins】中安装需要的3个插件giteenodejsPublish Over SSH

  1. gitee能拉取 gitee 上的代码
  2. nodejs前端项目打包、安装依赖必须
  3. Publish Over SSH上传包到服务器插件,也可以不用插件,使用 scp 命令

1. gitee 配置

一、从gitee获取令牌

这里可以使用令牌、可以使用ssh;我采用的令牌方式。

  1. 登录gitee,【右上角头像】【设置】【左侧安全设置】【私人令牌】
  2. jenkins 【系统管理】【凭据管理】【全局凭据】新增一个凭据,填写用户名、密码、id
    • 用户名:gitee登录用户,个人主页可以看到,个人主页地址拦也能看到
    • 密码:gitee上一步生成的 私人令牌
    • id:随便起,后续会用到(不用记住,后续有个下拉选择)
二、配置 nodejs

【系统管理】【全局工具配置】【nodejs安装】(这个要安装nodejs插件后才有);新增,选择需要的版本,启用就行了。

三、 配置 Publish Over SSH
  1. 点击系统管理
  2. 点击系统配置 3.Ctrl + F搜索Publish over SSH,配置账号密码

三、新建任务

建完任务就能点击一下自动打包部署了。

  1. 点击新建任务
  2. 填写任务名称
  3. 选择第一个自由风格任务
  4. 描述随便填
  5. 源码管理中选git
    • 填写gitee地址
    • 选择刚才的秘钥(下拉框)
    • 制定分支
  6. Environment 选择Provide Node & npm bin/ folder to PATH,然后选择node版本
  7. 增加构建步骤,选择执行shell
# 安装依赖 
npm install --registry=https://registry.npmmirror.com # 推荐使用国内镜像加速 

# 打包构建 (根据项目实际脚本,可能是 npm run build:prod) 
npm run build 

# 此时 dist 目录已生成 
echo "Build completed successfully."
  1. 构建后操作,选择Send build artifacts over SSH,填写 来源文件 dist/** , Remove prefix 是否不需要放在 dist, 部署位置。
  2. 回到首页就能看到任务了,点击执行就能部署了。

四、进阶

1.忘记 jenkins 密码

1. 停止 jenkins
brew services stop jenkins-lts
2. 修改配置文件
# 先保存一份副本
cp ~/.jenkins/config.xml ~/.jenkins/config.xml.bak

# 编辑
nano ~/.jenkins/config.xml
  1. 允许新用户注册
<disableSignup>false</disableSignup>
  1. 任何已登录用户 = 管理员
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"> <denyAnonymousReadAccess>true</denyAnonymousReadAccess> </authorizationStrategy>

Ctrl + O 在按回车(写入文件),Ctrl + X 退出

3. 重启 jenkins
brew services start jenkins-lts

这时候登录页底下就出现了注册,注册一个用户就拥有管理员权限了,可以修改忘记密码账号的密码。