搭建Jenkins gitlab 环境

Jenkins 全知道

https://jenkins.xfoss.com/

Ubuntu 上开放 SSHHTTP 服务,并重新加载防火墙配置

1. 确认防火墙状态

Ubuntu 22.04 默认防火墙是 ufw(Uncomplicated Firewall)。

先查看防火墙状态:

bash

如果显示 inactive 表示防火墙未启用。

复制代码
root@user-virtual-machine:~# sudo  ufw  status 
Status: inactive
root@user-virtual-machine:~# 

2. 开放 SSH(22 端口)

SSH 默认端口是 22,允许它通过防火墙:

bash

复制代码
sudo ufw allow ssh

或指定端口:

bash

复制代码
sudo ufw allow 22/tcp

3. 开放 HTTP(80 端口)

HTTP 默认端口是 80

bash

复制代码
sudo ufw allow http

或指定端口:

bash

复制代码
sudo ufw allow 80/tcp

4. 启用防火墙(如果未启用)

bash

复制代码
sudo ufw enable

5. 重新加载防火墙配置

bash

复制代码
sudo ufw reload

6. 查看防火墙规则

bash

复制代码
sudo ufw status

你应该能看到类似:

plaintext

复制代码
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere

7. 额外提示

  • 如果还需要 HTTPS(443 端口) ,可以运行:

    bash

    复制代码
    sudo ufw allow 443/tcp
  • 如果想允许某个特定 IP 访问: bash

    复制代码
    sudo ufw allow from 192.168.1.100

✅ 这样配置后,你的服务器就可以被 SSH 连接和 HTTP 访问了。

复制代码
root@user-virtual-machine:~# sudo  ufw  status 
Status: inactive
root@user-virtual-machine:~# 
root@user-virtual-machine:~# 
root@user-virtual-machine:~# 
root@user-virtual-machine:~# sudo ufw allow ssh
Skipping adding existing rule
Skipping adding existing rule (v6)
root@user-virtual-machine:~# sudo ufw allow http
Rules updated
Rules updated (v6)
root@user-virtual-machine:~# sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? 
Aborted
root@user-virtual-machine:~# sudo ufw reload
Firewall not enabled (skipping reload)
root@user-virtual-machine:~# sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
root@user-virtual-machine:~# sudo ufw reload
Firewall reloaded
root@user-virtual-machine:~# sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
80/tcp                     ALLOW       Anywhere                  
22/tcp (v6)                ALLOW       Anywhere (v6)             
80/tcp (v6)                ALLOW       Anywhere (v6)             

root@user-virtual-machine:~# 

2.安装 GitLab Community Edition(CE 社区版)

1. 准备工作

GitLab 对服务器资源要求较高,建议:

  • CPU:至少 2 核
  • 内存:至少 4GB(推荐 8GB)
  • 磁盘:至少 20GB 可用空间
  • 已安装并配置好 SSH

更新系统:

bash

复制代码
sudo apt update && sudo apt upgrade -y

2. 安装依赖

bash

复制代码
sudo apt install -y ca-certificates curl openssh-server postfix tzdata

命令用于一次性安装多个软件包,其中包括:

‌ca-certificates‌: 证书授权中心的证书,这些证书用于验证 SSL 证书。
‌curl‌: 一个命令行工具,用于发送和接收数据。
‌openssh-server‌: OpenSSH 服务器,用于提供 SSH 访问。
‌postfix‌: 一个邮件传输代理(MTA),用于发送和接收电子邮件。
**‌tzdata‌:**时区数据库,用于正确处理日期和时间。

注意事项

  • sudo ‌:这个命令需要管理员权限,使用 sudo 可以提升你的权限。
  • ‌**-y**‌:这个选项会自动回答所有提示为"是",避免在安装过程中出现交互式询问。

后续配置

安装完这些软件包后,你可能需要配置一些服务:

  • OpenSSH Server ‌:安装完成后,你可能需要配置 SSH 服务。你可以通过编辑 /etc/ssh/sshd_config 文件来配置 SSH 服务,然后重启 SSH 服务:

sudo systemctl restart sshd

**‌Postfix‌:**安装 Postfix 后,你可能需要配置邮件服务器。这通常涉及编辑 /etc/postfix/main.cf 文件来设置邮件服务器的相关参数。例如,设置邮件域名、SMTP 认证等。

‌Timezone‌: 安装 tzdata 后,系统会自动提示你选择时区。如果你错过了这个步骤或者想要更改时区,可以使用以下命令选择时区:
sudo dpkg-reconfigure tzdata

确保在继续之前检查每个服务的配置文件,以确保它们按照你的需求正确配置

参考 :

阿里云 Ubuntu 22.04.4 LTS 安装postfix+dovecot 搭建邮件服务器_ubuntu 22.04部署postfix+dovecot-CSDN博客

buntu 会弹出一个 蓝色的配置界面 (其实是 debconf 交互配置),一般会有几个选项:

  1. No configuration

    • 不做任何配置,后续需要手动修改 /etc/postfix/main.cf
    • 适合熟悉 postfix 配置的高手。
  2. Internet Site(推荐用于 GitLab)

    • 服务器直接通过互联网收发邮件,需要有 公网 IP域名
    • postfix 会直接用 SMTP 与外部邮件服务器通信。
  3. Internet with smarthost

    • 服务器本身不直接对外发邮件,而是通过一个 中继(smarthost) 转发。
    • 适合内网服务器、或者需要通过企业邮箱 / 第三方 SMTP(如 QQ、163、SendGrid)发邮件的情况。
  4. Satellite system

    • 所有邮件都通过一个固定的外部 SMTP 服务器发送和接收。
    • 与 "Internet with smarthost" 类似,但更严格。
  5. Local only

    • 只在本机发送邮件,不与外部通信。
    • 适合只需要 cron、系统告警发给本机用户的场景。

二、GitLab 场景推荐选择

如果你的服务器有公网 IP + 域名(直接发邮件)

  • 选择 Internet Site

  • 然后会提示输入 System mail name ,输入你的服务器域名,例如:

    plaintext

    复制代码
    gitlab.example.com
  • 这样 postfix 会用这个域名作为邮件的 From 地址后缀。


如果你的服务器在内网 / 需要用第三方 SMTP(如 QQ 邮箱、163、SendGrid)

  • 选择 Internet with smarthost
  • System mail name 同样填域名
  • 下一步会让你输入 smarthost 地址,比如 QQ 邮箱的 SMTP 是 smtp.qq.com:587
  • 之后还需要配置认证信息(用户名 / 密码)到 /etc/postfix/sasl_passwd

如果暂时不想配置,后续手动改

  • 选择 No configuration
  • 安装后手动编辑 /etc/postfix/main.cf 进行配置
相关推荐
jackzhuoa几秒前
Rust 异步核心机制剖析:从 Poll 到状态机的底层演化
服务器·前端·算法
小涂13 分钟前
在Linux(deepin-community-25)下安装MongoDB
linux·运维·mongodb
艾莉丝努力练剑20 分钟前
【Linux基础开发工具 (一)】详解Linux软件生态与包管理器:从yum / apt原理到镜像源实战
linux·运维·服务器·ubuntu·centos·1024程序员节
月巴月巴白勺合鸟月半26 分钟前
生成私钥公钥
运维·服务器
七七七七0732 分钟前
【计算机网络】深入理解网络层:IP地址划分、CIDR与路由机制详解
linux·服务器·计算机网络·智能路由器
快乐的钢镚子40 分钟前
思腾合力云服务器远程连接
运维·服务器·python
王道长服务器 | 亚马逊云41 分钟前
AWS + SEO:让网站从服务器层面赢在搜索引擎起跑线
服务器·搜索引擎·aws
敲上瘾41 分钟前
Linux系统C++开发工具(四)—— jsoncpp 使用指南
linux·服务器·网络·c++·json
小虚竹1 小时前
使用仓颉语言实现 nanoid:一个安全的唯一 ID 生成器
运维·服务器·安全·鸿蒙
chalmers_153 小时前
服务器启动的时候就一个对外的端口,如何同时连接多个客户端?
运维·服务器·网络