Jenkins在Ubuntu上的部署流程是什么
导读:在 Ubuntu 上部署 Jenkins 的标准流程 一 环境准备 操作系统建议使用 Ubuntu 22.04 LTS(或 20.04 LTS)。 安装 Java 运行环境(二选一或更高版本): OpenJDK 11(通用稳定):sud...
在 Ubuntu 上部署 Jenkins 的标准流程
一 环境准备
- 操作系统建议使用 Ubuntu 22.04 LTS(或 20.04 LTS)。
- 安装 Java 运行环境(二选一或更高版本):
- OpenJDK 11(通用稳定):sudo apt update & & sudo apt install -y openjdk-11-jdk
- OpenJDK 17(部分新版本偏好):sudo apt update & & sudo apt install -y openjdk-17-jdk
- 验证:java -version 应返回已安装的版本号。
二 安装与启动 Jenkins
- 导入 Jenkins GPG 密钥并添加官方 APT 源(推荐新版签名方式):
- wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.keys
- 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 -y jenkins
- sudo systemctl start jenkins
- sudo systemctl enable jenkins
- sudo systemctl status jenkins(确认状态为 active)
- 如 8080 端口被占用,可编辑服务文件(/usr/lib/systemd/system/jenkins.service)中的 Environment=“JENKINS_PORT=8080”,改为如 8088,然后执行:sudo systemctl daemon-reload & & sudo systemctl restart jenkins。
三 初始化与安全配置
- 获取初始管理员密码:sudo cat /var/lib/jenkins/secrets/initialAdminPassword
- 访问 Web 界面:打开浏览器输入 http://< 服务器IP或域名> :8080,粘贴初始密码进入向导。
- 插件安装:选择 Install Suggested Plugins,或手动安装常用插件(如 Git、Pipeline、Docker、Credentials Binding、GitHub Integration 等)。
- 创建管理员用户与实例 URL:按向导完成设置,确保 Jenkins URL 正确(可使用域名或服务器 IP)。
四 防火墙与端口开放
- 如使用 UFW:
- 开放 Web 端口与 Agent 通信端口:sudo ufw allow 8080/tcp;sudo ufw allow 50000/tcp
- sudo ufw reload
- 如使用云服务器,还需在云平台安全组放行对应端口。
五 创建第一条自动化部署流水线
- 准备代码与凭据:
- 在代码仓库配置 Deploy Keys 或使用 HTTPS + Personal Access Token。
- 在 Jenkins:Manage Jenkins → Manage Credentials → System → Global credentials 添加 SSH 私钥 或 用户名/密码 凭据。
- 新建任务:New Item → 选择 Pipeline → 勾选 Pipeline script from SCM → 选择 Git,填写仓库 URL 与凭据。
- 示例声明式流水线(Jenkinsfile,按项目替换命令与路径): pipeline { agent any stages { stage(‘Build’) { steps { sh ‘mvn clean package’ // Java 项目示例 // sh ‘npm install & & npm run build’ // Node 示例 } } stage(‘Deploy’) { steps { publishOverSSH( transfers: [ sshTransfer( sourceFiles: ‘target/*.jar’, // 构建产物路径 removePrefix: ‘target’, remoteDirectory: ‘/opt/app’ // 目标服务器目录 ) ], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true ) } } } }
- 触发方式:可配置 轮询 SCM(如每分钟 */1 * * * *)或 Webhook 实现代码变更自动构建与部署。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins在Ubuntu上的部署流程是什么
本文地址: https://pptw.com/jishu/764144.html
