在Debian上集成GitLab与Jenkins的完整步骤
确保Debian系统已更新,并安装必要的基础软件包:
sudo apt update && sudo apt upgrade -y
sudo apt install -y openjdk-11-jdk git curl wget
验证Java安装:
java -version # 需显示OpenJDK 11及以上版本
下载并导入Jenkins GPG密钥,创建软件源配置文件:
wget -q -O - https://pkg.jenkins.io/debian/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
更新包列表并安装Jenkins:
sudo apt update
sudo apt install jenkins
启动Jenkins服务并设置开机自启:
sudo systemctl enable --now jenkins
验证服务状态:
sudo systemctl status jenkins # 应显示“active (running)”
在浏览器中访问http://<服务器IP>:8080,输入初始管理员密码(从/var/lib/jenkins/secrets/initialAdminPassword读取),完成初始设置(建议安装推荐插件并创建管理员用户)。
进入Jenkins管理界面,导航至Manage Jenkins → Manage Plugins:
登录GitLab,进入User Settings → Access Tokens:
进入Manage Jenkins → Credentials:
进入Manage Jenkins → Configure System:
http://gitlab.example.com或http://localhost:8080);进入GitLab项目页面,导航至Settings → Webhooks:
http://<Jenkins服务器IP>:8080/gitlab/notify);进入Jenkins主页,点击“New Item”:
http://gitlab.example.com/username/project.git);*/main);Jenkinsfile)。在GitLab项目的根目录下创建Jenkinsfile,定义CI流程(示例):
pipeline {
agent any
stages {
stage('Checkout') {
steps {
git branch: 'main', url: 'http://gitlab.example.com/username/project.git'
}
}
stage('Build') {
steps {
sh './gradlew build' // 根据项目类型调整构建命令(如mvn、npm等)
}
}
stage('Test') {
steps {
sh './gradlew test' // 运行测试
}
}
stage('Deploy') {
steps {
sh './deploy.sh' // 部署脚本(根据需求编写)
}
}
}
post {
success {
echo 'Build and deployment succeeded!'
}
failure {
echo 'Build or deployment failed!'
}
}
}
触发方式1:代码推送
向GitLab仓库的main分支推送代码,Jenkins会自动触发构建(可在Jenkins任务的“Build History”中查看构建记录)。
触发方式2:合并请求
在GitLab中创建合并请求,Jenkins会自动运行构建,并将构建状态(成功/失败)同步到GitLab的合并请求页面。
ping gitlab.example.com),确保防火墙放行端口(如80/443)。通过以上步骤,即可在Debian上实现GitLab与Jenkins的集成,完成代码提交→自动构建→测试→部署的全流程自动化。