搭建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 进行配置
相关推荐
互联网小顽童5 小时前
Linux系统进阶管理教程:从基础操作到企业级运维(附实战命令)
运维·自动化运维
q***9945 小时前
IPV6公网暴露下的OPENWRT防火墙安全设置(只允许访问局域网中指定服务器指定端口其余拒绝)
服务器·安全·php
面对疾风叭!哈撒给5 小时前
Docker之 Portainer、Node-RED和EMQX安装与配置
运维·docker·容器
RisunJan5 小时前
Linux命令-exportfs命令(管理NFS服务器上共享文件系统)
linux·运维·服务器
动感小麦兜5 小时前
服务器搭建
linux·服务器·python
小吃饱了5 小时前
docker制作镜像
运维·docker·容器
LSL666_5 小时前
云服务器安装Tomcat
运维·服务器·tomcat
若汝棋茗5 小时前
串口客户端背后的故事:TouchSocket SerialPortClient 探秘
运维·负载均衡
哥哥还在IT中5 小时前
Docker的Cgroup Driver设置为Cgroupfs 和 Systemd 的区别
运维·docker·容器
胜似代码仔5 小时前
metrics-server 部署报错
运维