1. 环境准备
确保Linux服务器(如CentOS、Ubuntu)已安装Java(Jenkins依赖)、Git(拉取代码)、网络通畅(能访问GitLab/Jenkins)。可通过java -version、git --version验证安装。
2. 安装Jenkins
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.keysudo yum install jenkins -ysudo systemctl start jenkins && sudo systemctl enable jenkinshttp://<服务器IP>:8080,按提示完成初始配置(解锁密码在/var/lib/jenkins/secrets/initialAdminPassword中查看)。3. 安装Jenkins必要插件
http://<服务器IP>:8080),点击Manage Jenkins > Manage Plugins。4. 配置Jenkins与GitLab连接
api、read_user权限,生成并保存Token。GitLab API token),粘贴生成的Token;填写GitLab服务器URL(如http://gitlab.example.com),点击Save。5. 配置GitLab Webhook
http://<Jenkins服务器IP>/gitlab/notifyCommit);Push events、Merge Request events);6. 创建Jenkins Pipeline任务
my-gitlab-ci-job),选择Pipeline,点击OK。Git,填写GitLab仓库URL(如http://gitlab.example.com/username/project.git);Username with password或SSH Key,根据仓库权限配置);Jenkinsfile)。7. 编写Jenkinsfile
在GitLab项目根目录创建Jenkinsfile,定义CI/CD流程(示例为Java项目):
pipeline {
agent any // 使用任意可用节点
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'http://gitlab.example.com/username/project.git' // 拉取代码
}
}
stage('Build') {
steps {
sh './gradlew build' // 编译项目(Gradle示例)
}
}
stage('Test') {
steps {
sh './gradlew test' // 运行测试
}
}
stage('Deploy') {
steps {
sh './deploy.sh' // 部署脚本(如上传到服务器)
}
}
}
post {
success {
echo 'Build and deploy succeeded!' // 成功通知
}
failure {
echo 'Build or deploy failed!' // 失败通知
}
}
}
保存Jenkinsfile到GitLab仓库。
8. 触发与验证集成
git push origin main),GitLab Webhook会自动触发Jenkins Job。passed/failed)。常见问题排查
ping gitlab.example.com),确认GitLab API Token正确,Webhook URL无误。