Ubuntu环境下Jenkins部署完整流程
确保Ubuntu系统软件包为最新版本,避免兼容性问题:
sudo apt update && sudo apt upgrade -y
Jenkins基于Java开发,需安装Java运行环境(推荐OpenJDK 11及以上):
sudo apt install openjdk-11-jdk -y
# 验证Java安装是否成功
java -version
输出应包含openjdk version "11.x.x"
,确认Java环境正常。
确保软件包来源可信,避免恶意篡改:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
(注:部分新系统可能需要使用--dearmor
处理密钥,若报错可调整为:sudo apt-key add <(wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | gpg --dearmor)
)
将Jenkins官方仓库添加至系统源列表,便于后续安装和更新:
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 > /dev/null
同步系统包列表,获取Jenkins最新版本信息:
sudo apt update
通过APT包管理器安装Jenkins(自动解决依赖关系):
sudo apt install jenkins -y
立即启动Jenkins服务,使其在后台运行:
sudo systemctl start jenkins
确保服务器重启后Jenkins自动启动,避免手动操作:
sudo systemctl enable jenkins
确认Jenkins服务运行正常(显示active (running)
即为成功):
sudo systemctl status jenkins
Jenkins首次启动会生成随机初始密码,需通过以下命令获取:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
复制输出的密码(如xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
)。
在浏览器中输入Jenkins访问地址(默认端口8080
):
http://<your_server_ip_or_domain>:8080
将<your_server_ip_or_domain>
替换为服务器实际IP或域名。
在登录页面输入步骤5.1获取的初始密码,点击“Continue”完成解锁。
解锁后,Jenkins会提示安装“推荐插件”(包含Git、Maven、Pipeline等常用工具)。勾选“Install suggested plugins”,等待插件自动安装完成(约5-10分钟)。
插件安装完成后,需创建管理员账户(避免使用初始管理员账户,提升安全性):
进入“Manage Jenkins” > “Configure System”,设置以下关键参数:
Asia/Shanghai
);http://your_domain.com:8080
);若服务器启用了ufw
防火墙,需开放Jenkins默认端口8080
,允许外部访问:
sudo ufw allow 8080/tcp
sudo ufw enable # 若未启用防火墙,可跳过此步
若8080
端口被占用,可修改Jenkins端口:
sudo vim /etc/default/jenkins
JENKINS_PORT=8080
,修改为其他端口(如8081
);sudo systemctl daemon-reload
sudo systemctl restart jenkins
若需在Jenkins中集成Docker,可安装Docker插件并配置Docker环境:
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
若项目需要使用特定工具(如Git、Maven),可进入“Manage Jenkins” > “Global Tool Configuration”,设置工具路径(如Git安装路径、Maven安装路径),避免每次手动指定。
通过以上步骤,即可在Ubuntu系统上完成Jenkins的基础部署与初始化配置,后续可根据项目需求创建流水线任务、集成代码仓库(如GitHub、GitLab),实现持续集成/持续部署(CI/CD)。