返回

通过 frp 实现 Jenkins 内网穿透,实现自动化部署前端项目至阿里云 OSS

前端

内网 jenkins+frp 内网穿透+部署前端项目至阿里云 oss 的详细过程和方法

我们经常遇到这样的场景:

  1. 内网的 Jenkins 无法直接访问外网的阿里云 OSS。
  2. 当代码提交到阿里云 Code 某个分支时,需要触发 Jenkins 自动拉取代码并发布到阿里云 OSS。

要解决以上问题,可以使用 frp 实现内网穿透,使内网的 Jenkins 可以直接访问外网的阿里云 OSS。同时,可以通过配置 Jenkins 的构建任务,当代码提交到阿里云 Code 某个分支时,触发 Jenkins 自动拉取代码并发布到阿里云 OSS。

一、安装 frp

  1. 下载 frp 并解压。
  2. 进入 frp 解压后的目录,执行以下命令安装 frp。
sudo apt-get update
sudo apt-get install -y make gcc
make
sudo make install

二、配置 frp

  1. 创建 frp 配置文件 /etc/frp/frpc.ini
  2. /etc/frp/frpc.ini 文件中写入以下内容。
[common]
server_addr = your_server_ip:7000
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 22

[web]
type = http
local_ip = 127.0.0.1
local_port = 80
remote_port = 80

其中:

  • server_addr 为 frp 服务端的地址。
  • server_port 为 frp 服务端的端口。
  • ssh 为 ssh 服务的配置。
  • web 为 web 服务的配置。

三、启动 frp

sudo service frp start

四、配置 Jenkins

  1. 登录 Jenkins,进入系统管理 > 插件管理 > 可选插件,搜索并安装 Alibaba Cloud PluginPublish Over SSH Plugin 插件。
  2. 配置阿里云 OSS 插件。进入系统管理 > 全局工具配置,点击阿里云 OSS,在弹出窗口中填写阿里云 OSS 的 AccessKey ID、AccessKey Secret、Bucket 名称和 Endpoint。
  3. 配置 SSH 服务器。进入系统管理 > 管理节点,点击配置 SSH 服务器,在弹出窗口中填写 SSH 服务器的地址、端口、用户名和密码。
  4. 创建构建任务。进入构建任务,点击新建任务,填写任务名称、代码仓库地址、构建触发器等信息。在构建步骤中,添加 Publish Over SSHAlibaba Cloud OSS Upload 步骤。

五、测试

  1. 将代码提交到阿里云 Code 某个分支。
  2. 等待 Jenkins 构建任务执行完成。
  3. 登录阿里云 OSS,查看前端项目是否已经发布到指定 Bucket。

结语

通过以上步骤,我们已经成功实现通过 frp 实现 Jenkins 内网穿透,实现自动化部署前端项目至阿里云 OSS。希望本文对您有所帮助。