1. 准备CentOS环境
在开始前,确保CentOS系统已更新并安装基础工具:
sudo yum update -y
sudo yum install -y wget git java-1.8.0-openjdk-devel
2. 安装Jenkins
通过yum仓库安装Jenkins,启动服务并设置开机自启:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install -y jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins
访问http://<服务器IP>:8080,按提示完成初始配置(解锁密码可在/var/lib/jenkins/secrets/initialAdminPassword中查看)。
3. 安装必要插件
进入Jenkins管理界面(Manage Jenkins → Manage Plugins),安装以下插件:
4. 配置测试环境依赖
根据项目类型安装依赖工具:
java -version验证),并配置Maven(mvn -v验证):sudo yum install -y maven
python3 -V、pip3 -V验证),并安装项目依赖:sudo yum install -y python3 python3-pip
pip3 install -r requirements.txt # 在项目根目录执行
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
5. 创建Jenkins Job
选择New Item,输入任务名称(如MyProject-Test),选择任务类型(推荐Pipeline或Freestyle Project):
Freestyle Project(适合简单项目):
https://github.com/your-repo/project.git)及凭证(若有私有仓库)。Build when a change is pushed to GitHub(代码推送时自动触发)。Invoke top-level Maven targets → Goals填写clean test。Execute shell → 命令填写python3 -m unittest discover。Publish JUnit test result report,路径填写测试报告路径(如Java的target/surefire-reports/*.xml、Python的test-reports/*.xml)。Pipeline(适合复杂项目,推荐):
Pipeline script from SCM,SCM选Git,输入仓库URL,脚本路径填写Jenkinsfile(项目根目录需存在该文件)。Jenkinsfile(Java+Maven):pipeline {
agent any
stages {
stage('Checkout') {
steps { git 'https://github.com/your-repo/project.git' }
}
stage('Build') {
steps { sh 'mvn clean package' }
}
stage('Test') {
steps { sh 'mvn test' }
post {
always { junit 'target/surefire-reports/*.xml' } // 发布测试报告
}
}
}
}
Jenkinsfile(Python+unittest):pipeline {
agent any
stages {
stage('Checkout') {
steps { git 'https://github.com/your-repo/project.git' }
}
stage('Install Dependencies') {
steps { sh 'pip3 install -r requirements.txt' }
}
stage('Run Tests') {
steps { sh 'python3 -m unittest discover -s tests/' } // 假设测试文件在tests目录
}
}
post {
always { publishHTML(target: [reportDir: 'reports', reportFiles: 'test-report.html', reportName: 'Test Report']) } // 发布HTML报告
}
}
6. 执行测试并查看结果
Build Now手动触发测试。Build #<编号>→Test Result查看JUnit测试报告(显示通过/失败用例数);若配置了HTML报告,点击Test Report查看详细结果。Console Output)可获取测试过程的详细日志(如错误堆栈、测试耗时)。7. 优化与扩展(可选)
Build Triggers中配置Git Webhook(如GitHub的Settings→Webhooks),实现代码推送时自动触发测试。stage('Docker Test') {
steps {
script {
docker.build("myproject:${env.BUILD_ID}").inside {
sh 'python3 -m unittest discover'
}
}
}
}
parallel指令并行执行多个测试任务(如单元测试、集成测试),提升测试效率。