1. 环境准备
确保Linux服务器(如CentOS、Ubuntu)已安装Java(Jenkins依赖Java环境,建议安装OpenJDK 11+):
sudo yum install java-11-openjdk-devel # CentOS示例
java -version # 验证安装
2. 安装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 jenkins
sudo systemctl start jenkins
sudo systemctl enable jenkins # 设置开机自启
http://<服务器IP>:8080,按提示完成初始设置(解锁密码可在/var/lib/jenkins/secrets/initialAdminPassword中查看)。3. 安装Jenkins必要插件
http://<服务器IP>:8080),点击Manage Jenkins > Manage Plugins。sudo systemctl restart jenkins
4. 配置GitLab访问令牌
5. 配置Jenkins与GitLab连接
http://gitlab.example.com或http://localhost:8080),点击Test Connection验证连接(显示“Success”则配置正确)。6. 配置GitLab Webhook
http://<Jenkins服务器IP>:8080/gitlab/notify(Jenkins监听GitLab触发的端点)7. 创建Jenkins Pipeline任务
my-gitlab-ci-job),选择Pipeline类型,点击OK。https://gitlab.example.com/username/project.git或git@gitlab.example.com:username/project.git)。Jenkinsfile,即项目根目录下的Jenkinsfile文件)。8. 编写Jenkinsfile定义流水线
在GitLab项目根目录下创建Jenkinsfile文件(无后缀),定义CI/CD流水线步骤(以Java项目为例):
pipeline {
agent any // 使用任意可用节点执行任务
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'https://gitlab.example.com/username/project.git' // 拉取指定分支代码
}
}
stage('Build') {
steps {
sh './gradlew build' // 使用Gradle构建项目(若为Maven项目,替换为'mvn clean package')
}
}
stage('Test') {
steps {
sh './gradlew test' // 运行单元测试
}
}
stage('Deploy') {
steps {
sh './deploy.sh' // 自定义部署脚本(如将应用部署到Tomcat)
}
}
}
post {
success {
echo 'Build and deployment succeeded!' // 构建成功输出日志
}
failure {
echo 'Build or deployment failed!' // 构建失败输出日志
}
}
}
9. 测试集成流程
git add . && git commit -m "Update code" && git push origin main)或创建合并请求(Merge Request)。常见问题排查
ping <GitLab服务器IP>),确认GitLab访问令牌正确,验证Webhook URL是否可达(curl http://<Jenkins服务器IP>:8080/gitlab/notify)。