下面按最常见的场景给你一个清晰、可落地的说明:在 Ubuntu 上安装 Jenkins,并将其与代码仓库(GitLab / GitHub)集成,实现 CI/CD。如果你指的是其他“集成”(如 Docker、K8s、Ansible),我也可以再补充。
sudo apt update
sudo apt install openjdk-17-jdk -y
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/" | \
sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt update
sudo apt install jenkins -y
sudo systemctl enable --now jenkins
sudo systemctl status jenkins
sudo ufw allow 8080
浏览器访问:
http://<服务器IP>:8080
初始密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
sudo su - jenkins
ssh-keygen -t rsa -b 4096
cat ~/.ssh/id_rsa.pub
把公钥加到 GitLab / GitHub 的 Deploy Key
id_rsapipeline {
agent any
stages {
stage('Clone') {
steps {
git branch: 'main',
url: 'git@gitlab.com:your/group/project.git',
credentialsId: 'git-ssh'
}
}
stage('Build') {
steps {
sh 'mvn clean package'
// 或 npm / make / docker build
}
}
stage('Deploy') {
steps {
sh 'bash deploy.sh'
}
}
}
}
http://<JENKINS_IP>:8080/git/notifyCommit?url=git@gitlab.com:your/group/project.git
jenkins 用户有 SSH keysudo su - jenkins 测试 git clonesudo chown -R jenkins:jenkins /var/lib/jenkins
如果你能告诉我:
我可以直接给你定制化配置方案或 yaml/pipeline 模板。