Ubuntu 单机部署 GitLab + Jenkins 并实现自动化构建完整教程

发布时间:2026/5/26 21:20:56

Ubuntu 单机部署 GitLab + Jenkins 并实现自动化构建完整教程 Ubuntu 单机部署 GitLab + Jenkins 并实现自动化构建完整教程本文适合小白,环境如下:服务器 IP:192.168.1.42 操作系统:Ubuntu GitLab 地址:http://192.168.1.42 Jenkins 地址:http://192.168.1.42:8081 GitLab 端口:80 Jenkins 端口:8081注意:本机环境中8080 已经被 GitLab 内部服务占用,所以 Jenkins 不能继续使用默认8080,需要改成8081。Jenkins 官方文档也说明,Jenkins 默认监听8080,如果端口被占用,可以通过systemctl edit jenkins设置JENKINS_PORT=8081。(Jenkins)一、整体架构说明最终效果是:开发者提交代码 ↓ GitLab 收到 push / merge request ↓ GitLab Webhook 通知 Jenkins ↓ Jenkins 拉取 GitLab 仓库代码 ↓ Jenkins 执行 Jenkinsfile ↓ Jenkins 将构建状态回写到 GitLab在本文环境中:GitLab: http://192.168.1.42 Jenkins: http://192.168.1.42:8081 GitLab Webhook URL: http://192.168.1.42:8081/project/hello-jenkins二、安装前准备1. 更新系统sudoaptupdatesudoaptinstall-ycurlwgetvimgitca-certificates tzdata perl openssh-server fontconfig2. 查看服务器 IPhostname-I确认里面有:192.168.1.423. 配置防火墙如果你启用了ufw,开放这些端口:sudoufw allow OpenSSHsudoufw allow80/tcpsudoufw allow8081/tcpsudoufwenablesudoufw status说明:80 给 GitLab 使用 8081 给 Jenkins 使用 22 给 SSH 远程登录使用GitLab 官方 Ubuntu 安装文档也要求开放 SSH、HTTP、HTTPS 等访问端口。(GitLab 文档)三、安装 GitLab CEGitLab CE 是 GitLab Community Edition,也就是社区版。1. 添加 GitLab 软件源curl--location"https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh"|sudobashGitLab 官方 Ubuntu 安装文档中,社区版使用的就是gitlab-ce软件源脚本。(GitLab 文档)2. 安装 GitLab因为本文 GitLab 地址是:http://192.168.1.42所以安装命令为:sudoEXTERNAL_URL="http://192.168.1.42"aptinstall-ygitlab-ceEXTERNAL_URL用来设置 GitLab 对外访问地址,GitLab 官方文档也推荐在安装时设置它。(GitLab 文档)3. 检查 GitLab 状态sudogitlab-ctl status正常会看到类似:run: nginx run: puma run: sidekiq run: postgresql run: redis4. 登录 GitLab浏览器访问:http://192.168.1.42初始用户名:root查看初始密码:sudocat/etc/gitlab/initial_root_passwordGitLab 官方文档说明,初始 root 密码会保存在/etc/gitlab/initial_root_password,并且该文件 24 小时后会自动删除。(GitLab 文档)登录后建议马上修改 root 密码。四、安装 Jenkins1. 安装 Java 21Jenkins 需要 Java 才能运行,当前 Jenkins 官方 Linux 安装文档要求 Java 21 或更高版本,并推荐先安装 OpenJDK 21。(Jenkins)执行:sudoaptupdatesudoaptinstall-yopenjdk-21-jre fontconfig检查 Java 版本:java-version正常应该看到类似:openjdk version "21.x.x"再确认 Jenkins 用户也能使用 Java:

相关新闻