你问的“Ubuntu Jenkins 怎么集成”,通常可以从安装 Jenkins → 基础配置 → 与代码/构建/部署工具集成这条主线来理解。下面我按最常见场景给你一个清晰、可操作的指南。
sudo apt update
sudo apt install openjdk-17-jdk -y
Jenkins 推荐 Java 17(旧版可用 11)
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 jenkins
sudo systemctl start jenkins
访问:
http://<服务器IP>:8080
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
方式一:FreeStyle 项目
方式二:Pipeline(推荐)
pipeline {
agent any
stages {
stage('Clone') {
steps {
git 'https://github.com/your/repo.git'
}
}
}
}
sudo apt install maven -y
stage('Build') {
steps {
sh 'mvn clean package'
}
}
sudo apt install docker.io -y
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
stage('Docker Build') {
steps {
sh 'docker build -t myapp:latest .'
}
}
docker stop myapp || true
docker run -d -p 8080:8080 myapp
stage('Deploy') {
steps {
sshagent(['remote-server']) {
sh '''
ssh user@ip "docker pull myapp && docker restart myapp"
'''
}
}
}
http://jenkins-ip/github-webhook/
project/
├── Jenkinsfile
├── Dockerfile
├── pom.xml
└── src/
| 问题 | 解决 |
|---|---|
| 端口被占用 | 改 /etc/default/jenkins |
| 权限不足 | sudo chown -R jenkins:jenkins |
| Docker 权限 | jenkins 加入 docker 组 |
你可以告诉我:
我可以直接给你 完整 Jenkinsfile + 部署脚本。