一、准备工作
安装Docker:基于windows,基于windows,基于windows
1、在你的Jenkins服务器上安装Docker。这可以通过操作系统的包管理器(如apt-get、yum等)或Docker的官方网站提供的安装脚本来完成。
2、安装Jenkins:
同样,在你的服务器上安装Jenkins。这可以通过下载Jenkins的war包并运行,或者通过Docker容器来部署Jenkins。
二、拉取并运行Jenkins Docker容器
1、拉取Jenkins镜像:
使用Docker命令拉取Jenkins的官方镜像。例如:docker pull jenkins/jenkins:lts(lts表示长期支持版)。
##推荐直接在docker图形界面上直接搜索拉取

2、配置本地挂载目录:
创建一个本地目录,用于存储Jenkins的数据和配置。例如:mkdir -p /var/jenkins_home(这步有问题就跳过)
3、运行Jenkins容器:
使用Docker命令运行Jenkins容器,并将本地目录挂载到容器的/var/jenkins_home目录。例如:
bash命令
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins:lts
这里,-d表示后台运行容器,–name jenkins为容器指定名称,-p参数用于映射容器的端口到宿主机的端口。
##这步建议直接在docker图形页面上设置,设置name、50000、8080,比敲这一大串快
三、配置Jenkins
1、访问Jenkins Web界面:
在浏览器中访问http://<你的Jenkins服务器IP>:8080,进入Jenkins的Web界面。
2、获取初始管理员密码:
在Jenkins首次启动时,会生成一个初始管理员密码。你可以通过运行docker logs jenkins命令来查找这个密码。
##docker运行容器后,logs图形界面中有显示密码

3、安装插件:
进入Jenkins后,按照提示安装推荐的插件或根据需要安装其他插件。
Gitee
publish-over-ssh
四、在Jenkins容器中配置Python环境
1、进入Jenkins容器:
使用Docker命令进入Jenkins容器内部。例如:docker exec -it --user root <jenkins_container_id_or_name> /bin/bash
2、更新软件包列表并安装Python:
在容器内部,更新软件包列表并安装Python。例如(以Debian/Ubuntu为例):
bash命令
apt-get update
apt-get install -y python3 python3-pip
apt-get install python3-pytest
apt-get install python3-xyz
apt-get install sudo
3、验证Python安装:
安装完成后,验证Python和pip的版本。例如:
bash命令
python3 --version
pip3 --version
五、配置Jenkins构建任务以使用Python环境
1、创建新项目:
在Jenkins的Web界面中,创建一个新的构建项目。
2、配置构建步骤:
在项目的配置页面中,添加构建步骤。例如,选择“Execute shell”并在命令框中输入你的Python脚本执行命令。
#!/bin/bash
# 设置工作目录(可选,如果你的Jenkins工作空间已经设置正确,可以省略)
WORKDIR="./"
cd "$WORKDIR" || { echo "Failed to change to work directory $WORKDIR"; exit 1; }
# 设置项目根目录和基础解释器位置
export PYTHONPATH=$WORKSPACE
export PYTHON_BASIC_BINARY=/usr/bin/python3
# 设置虚拟环境目录
export PYTHON_VENVS=$PYTHONPATH/venv
# 检查和创建虚拟环境
mkdir -p $PYTHON_VENVS
VENV=$PYTHON_VENVS/venv_$JOB_BASE_NAME
if [ ! -f "$VENV/pyvenv.cfg" ]; then
$PYTHON_BASIC_BINARY -m venv $VENV
$VENV/bin/python -m pip install --upgrade pip >/dev/null 2>&1
fi
# 激活虚拟环境
. $VENV/bin/activate
# 安装依赖
pip install -r requirements.txt -q
# 运行脚本
#python main.py
#切换到root用户
#docker exec -it --user root jenkins /bin/bash
#sudo su
# 安装依赖
#echo "Installing dependencies..."
#apt-get install requirements.txt -q
#if [ $? -ne 0 ]; then
# echo "Failed to install dependencies."
# exit 1
#fi
# 获取当前北京时间(假设服务器时区已设置为北京时间)
CURRENT_TIME=$(date +"%Y-%m-%d %H:%M:%S")
echo "Current Beijing Time: $CURRENT_TIME"
# 运行pytest测试
echo "Running pytest tests..."
pytest main.py
TEST_RESULT=$?
# 输出测试结果和时间
if [ $TEST_RESULT -eq 0 ]; then
echo "All tests passed at $CURRENT_TIME"
else
echo "Some tests failed at $CURRENT_TIME"
fi
# 根据测试结果设置Jenkins构建状态
if [ $TEST_RESULT -ne 0 ]; then
exit 1 # 非零退出状态表示构建失败
else
exit 0 # 零退出状态表示构建成功
fi
#添加chromedriver PATH
export PATH=$PATH:/path/to/chromedriver
3、保存并构建:
保存项目配置,并触发构建任务。
4、下载chrome浏览器与驱动
更新包列表:apt-get update
使用docker exec命令以root用户身份进入Jenkins容器:docker exec -it -u root <container_id> /bin/bash
容器中创建一个目录来存放Chrome安装包:mkdir -p /chrome
切换到创建的目录:cd /chrome
下载Chrome安装包并安装:
apt-get update
apt-get install -y wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
dpkg -i google-chrome-stable_current_amd64.deb
apt-get -f install -y
查看是否安装成功:google-chrome --version
安装chromedriver:wget https://storage.googleapis.com/chrome-for-testing-public/130.0.6723.69/linux64/chromedriver-linux64.zip
#到https://googlechromelabs.github.io/chrome-for-testing/#stable上获取chrome对应的版本chromedriver链接
安装解压包:apt -j install unzip
解压chromedriver-linux64.zip:unzip -j chromedriver-linux64.zip
查看chromedriver版本:chromedriver --version
显示当前路径:pwd
配置环境变量:export PATH=$PATH:/chrome
启动D-Bus 服务:service dbus restart
安装x服务器:apt-get xorg
配置DISPLAY当前的值:export DISPLAY=:0




