搭建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 进行配置
相关推荐
神奇的程序员4 小时前
从已损坏的备份中拯救数据
运维·后端·前端工程化
虾..5 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙6 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
玄斎6 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
rit84324997 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
trayvontang7 小时前
Nginx之location配置
运维·nginx
十六年开源服务商7 小时前
WordPress定制开发最佳公司的用户画像
运维
hkhkhkhkh1237 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
世岩清上8 小时前
AI驱动的智能运维:从自动化到自主化的技术演进与架构革新
运维·人工智能·自动化
张童瑶9 小时前
Linux SSH隧道代理转发及多层转发
linux·运维·ssh