1. 准备基础环境
在Debian系统上执行Jenkins测试前,需先安装Java环境(Jenkins依赖Java运行)。通过以下命令安装OpenJDK 11(推荐版本):
sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version
确保输出显示Java版本为11或更高,否则Jenkins可能无法启动。
2. 安装与配置Jenkins
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo "deb http://pkg.jenkins.io/debian-stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt update
sudo apt install jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
http://your_server_ip:8080,输入初始管理员密码(位于/var/lib/jenkins/secrets/initialAdminPassword),完成解锁。安装推荐插件(或后续按需安装)。3. 安装必要插件
进入Jenkins管理界面(Manage Jenkins → Manage Plugins),安装以下核心插件:
4. 编写自动化测试脚本
根据项目语言选择测试框架,示例:
unittest或pytest编写测试用例,保存至tests/目录。例如test_api.py:import unittest
import requests
class APITest(unittest.TestCase):
def setUp(self):
self.base_url = "http://api.example.com"
def test_api_status(self):
response = requests.get(f"{self.base_url}/status")
self.assertEqual(response.status_code, 200)
if __name__ == '__main__':
unittest.main(verbosity=2)
src/test/java目录,确保生成JUnit XML报告(如target/surefire-reports/*.xml)。5. 配置Jenkins任务
New Item,输入任务名称(如MyApp-Test),选择Pipeline类型,点击OK。Pipeline section选择Pipeline script from SCM(推荐,便于版本控制),设置:
Git;https://github.com/your-repo.git);Jenkinsfile路径(默认在项目根目录)。6. 编写Jenkinsfile
在项目根目录创建Jenkinsfile,定义测试流程。示例(支持Python/Java):
pipeline {
agent any // 使用任意可用节点
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://github.com/your-repo.git' // 拉取代码
}
}
stage('Run Tests') {
steps {
script {
// 根据项目类型选择测试命令
if (fileExists('pom.xml')) {
sh 'mvn test' // Maven项目执行单元测试
} else {
sh 'pytest tests/' // Python项目执行接口测试
}
}
}
post {
always {
// 收集测试报告(JUnit格式)
junit '**/target/surefire-reports/*.xml' // Java
// junit 'tests/report.xml' // Python(需生成对应报告)
}
}
}
}
post {
always {
echo '测试流程完成(无论成功/失败)'
}
failure {
emailext body: '测试失败,请检查Jenkins日志',
subject: 'Jenkins测试失败通知',
to: 'dev-team@example.com' // 失败时发送邮件
}
}
}
根据项目需求调整测试命令(如mvn test、pytest)和报告路径。
7. 触发与监控测试
Build Now,观察构建进度。Pipeline配置中添加Poll SCM(如H/5 * * * *,每5分钟检查代码变更)或Webhook(Git推送时触发)。Console Output查看详细日志;Test Result查看JUnit测试报告(若有);注意事项