下面给你一套在 Debian 上自动化 Jenkins 部署的常用方案,从“最基础”到“生产级”逐步升级,你可以按需求选用。
#!/bin/bash
set -e
# 安装依赖
sudo apt update
sudo apt install -y curl gnupg openjdk-17-jdk
# 添加 Jenkins 仓库
curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
# 安装 Jenkins
sudo apt update
sudo apt install -y jenkins
# 启动并设置开机自启
sudo systemctl enable --now jenkins
首次访问:
http://<server-ip>:8080
获取初始密码:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
jenkins-ansible/
├── inventory.ini
├── playbook.yml
└── roles/
[jenkins]
192.168.1.10 ansible_user=root
- hosts: jenkins
become: true
tasks:
- name: Install Java
apt:
name: openjdk-17-jdk
state: present
update_cache: yes
- name: Add Jenkins key
apt_key:
url: https://pkg.jenkins.io/debian/jenkins.io.key
keyring: /usr/share/keyrings/jenkins-keyring.asc
- name: Add Jenkins repo
apt_repository:
repo: "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/"
filename: jenkins
- name: Install Jenkins
apt:
name: jenkins
state: present
- name: Start Jenkins
systemd:
name: jenkins
enabled: yes
state: started
运行:
ansible-playbook -i inventory.ini playbook.yml
version: "3"
services:
jenkins:
image: jenkins/jenkins:lts
container_name: jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- jenkins_home:/var/jenkins_home
volumes:
jenkins_home:
启动:
docker compose up -d
helm repo add jenkins https://charts.jenkins.io
helm repo update
helm install jenkins jenkins/jenkins \
--namespace jenkins \
--create-namespace
适合:
job('demo-job') {
scm {
git('https://github.com/example/repo.git')
}
steps {
shell('make build')
}
}
jenkins:
securityRealm:
local:
users:
- id: admin
password: admin
| 场景 | 方案 |
|---|---|
| 本地测试 | Docker |
| 单台服务器 | Ansible |
| 企业部署 | Kubernetes + JCasC |
| 快速验证 | Shell 脚本 |
如果你愿意,我可以:
你现在是 测试环境还是生产环境?