一、环境准备:安装 Docker 和 Jenkins
# 安装Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker并设置开机自启
systemctl start docker
systemctl enable docker
# 验证
docker --version # 输出Docker版本
发现报错,于是换源:
rm -f /etc/yum.repos.d/docker-ce.repo # 删除之前添加的官方源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all # 清除缓存
yum makecache fast # 生成新缓存
yum install -y docker-ce docker-ce-cli containerd.io # 重新安装Docker
Dockerfile内容
# 基础镜像:官方 Jenkins(带 JDK17)
FROM jenkins/jenkins:lts-jdk17
USER root
# 设置环境变量
ENV PYTHON_VERSION=3.9.23
# 安装依赖工具和 Python 3.9.23
RUN apt update && apt install -y wget build-essential zlib1g-dev \
libncurses5-dev libgdbm-dev libnss3-dev libssl-dev \
libreadline-dev libffi-dev curl libsqlite3-dev && \
cd /usr/src && \
wget https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz && \
tar xzf Python-${PYTHON_VERSION}.tgz && \
cd Python-${PYTHON_VERSION} && \
./configure --enable-optimizations && \
make altinstall && \
ln -sf /usr/local/bin/python3.9 /usr/bin/python && \
ln -sf /usr/local/bin/pip3.9 /usr/bin/pip && \
pip install -U pip && \
pip install pytest playwright && \
playwright install && \
playwright install-deps && \
apt clean && rm -rf /var/lib/apt/lists/* /usr/src/Python-${PYTHON_VERSION}*
# 暴露 Jenkins 端口
EXPOSE 8080 50000
# 默认用户和工作目录
USER jenkin
docker-compose.yml
services:
jenkins:
build: . # 👈 从当前目录构建(会用 Dockerfile)
container_name: jenkins
user: root
restart: always
ports:
- "8080:8080"
- "50000:50000"
volumes:
- /demo/playwright_ui_test/jenkins_home:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
docker-compose build
docker-compose up -d
出现Compose 报错 “requires buildx 0.17 or later”
写个脚本更新
#!/bin/bash
set -e
echo "🔧 正在下载最新 Docker Buildx 插件..."
# 确保依赖齐全
yum install -y curl jq ca-certificates
# 创建插件目录
mkdir -p ~/.docker/cli-plugins
# 获取最新版本号
LATEST=$(curl -s https://api.github.com/repos/docker/buildx/releases/latest | jq -r .tag_name)
# 生成下载链接
BUILDX_URL="https://github.com/docker/buildx/releases/download/${LATEST}/buildx-${LATEST}.linux-amd64"
echo "📦 最新版本: ${LATEST}"
echo "🌐 正在下载: ${BUILDX_URL}"
# 下载 buildx 二进制文件(强制 TLS1.2)
curl -L --tlsv1.2 -o ~/.docker/cli-plugins/docker-buildx "$BUILDX_URL"
# 授权执行
chmod +x ~/.docker/cli-plugins/docker-buildx
# 验证安装
echo "✅ Buildx 版本信息如下:"
docker buildx version
最后加权限
chmod +x /demo/playwright_ui_test/update_buildx.sh
加个镜像源
尝试构建 cd /demo/playwright_ui_test docker compose build docker compose up -d 第一次构建时间挺长的,等待即可
在阿里云放行端口,服务器防火墙看一下;在本地电脑访问http:公网ip:8080,即可看到配置jenkins,第一次密码为终端出现的字符串密码
二、FRP内网穿透
内网穿透是一种通过公共网络连接两个私有网络的技术,使得外部用户可以访问内部网络中的服务。FRP(Fast Reverse Proxy)是一种流行的内网穿透工具
1.github下载
wget https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_amd64.tar.gz
tar -zxvf frp_0.51.3_linux_amd64.tar.gz
mv frp_0.51.3_linux_amd64.tar.gz frp
2.配置frps.toml文件
bindPort = 7000
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
auth.method="token"
auth.token = "thisisatoken"
3.利用systemd启动后台进程挂载
vim /etc/systemd/system/frps.service
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type=simple
ExecStart = /dev-ops/frp/frps -c /dev-ops/frp/frps.toml
ExecStop=/bin/kill $MAINPID
Restart=always
RestartSec=5
[Install]
WantedBy = multi-user.target
启动
systemctl start frps
systemctl status frps

注:阿里云服务器控制面板安全组开放端口
4.客户端 frpc.toml文件
#你的云服务器公网ip
serverAddr = "x.x.x.x"
#连接到云服务器端口,需要和frps.toml配置文件中端口一致
serverPort = 7000
auth.method = "token"
auth.token = "thisisatoken"
#开放端口连接
[[proxies]]
name = "test-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 8080
remotePort = 6100
#共享文件访问
[[proxies]]
name = "d_drive"
type = "tcp"
remotePort = 6001 # 服务器上用于访问的端口
[proxies.plugin]
type = "static_file"
localPath = "D:\\" # 要对外暴露的目录
stripPrefix = "d_drive" # 访问路径名,此处即http://x.x.x.x:6001/d_drive/
httpUser = "username" # 用户名
httpPassword = "password" # 密码
cmd 命令启动
frpc.exe -c frpc.toml
利用公网IP+端口

共有 0 条评论