CentOS部署CI/CD指南(环境篇)

本文涉及的产品
云防火墙,500元 1000GB
简介: CentOS部署CI/CD指南(环境篇)

前置说明:


  1. 部署环境为阿里云ECS服务器,CentOS8操作系统。
  2. 安装OpenJDK,Git,Jenkins,Nexus,Docker


基础环境准备:


安装Java:

yum install -y java
复制代码


安装Git:

yum install -y git
复制代码


安装Nexus3(端口8081):


  1. 创建目录:mkdir /usr/local/nexus
  2. 切换目录:cd /usr/local/nexus
  3. 下载安装包:wget https://dependency-fe.oss-cn-beijing.aliyuncs.com/nexus-3.29.0-02-unix.tar.gz
  4. 解压安装包:tar -zxvf ./nexus-3.29.0-02-unix.tar.gz
  5. cd到nexus的bin目录启动:./nexus run或者./nexus start,初始安装使用./nexus run可以查看启动日志,没有问题后在通过start启动。
  6. 初始账号密码:
  1. 账号:admin。
  2. 密码:执行命令cat /sonatype-work/nexus3/admin.password查看。


安装Jenkins(端口8080):


  1. 导入Jenkins安装源:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
复制代码
  1. 安装Jenkins:yum install jenkins
  2. 启动Jenkins:service jenkins start
  3. 查看密码:cat /var/lib/jenkins/secrets/initialAdminPassword
  4. 替换插件源:
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' /var/lib/jenkins/updates/default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
复制代码


安装Docker:


  1. 安装前置模块device-mapper-persistent-datalvm2
yum install -y yum-utils device-mapper-persistent-data lvm2
复制代码
  1. 切换加速地址:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
  1. 安装Docker:yum install docker-ce -y
  2. 启动Docker:
systemctl start docker
systemctl enable docker
复制代码
  1. 配置镜像加速地址:cr.console.aliyun.com/cn-beijing/…
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://k1ffccuv.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码
  1. Unix Socket 权限问题:
sudo groupadd docker            #新增docker用户组
sudo gpasswd -a jenkins docker  #将当前用户添加至docker用户组
newgrp docker                   #更新docker用户组
sudo service jenkins restart    #重启Jenkins
复制代码


其他说明:


  1. 检查端口连通性:telnet ip port
  2. 端口无法访问:检查阿里云控制台安全组的出入配置,允许对应端口。
  3. 服务器内部的防火墙一般是不会拦截的。
  4. 如过被firewalld拦截:firewall-cmd --zone=public --add-port=端口/tcp --permanent
  5. 如果被iptables拦截:iptables -I INPUT -p tcp --dport 端口 -j ACCEPT
  6. 查看端口监听状态:netstat -anpt | grep <port>


收录内容(阿里云ECS服务器CentOS7防火墙firewalld设置):


  1. firewalld设置:
使用root登录
1.确保服务器系统处于最新状态
[root@localhost ~]# yum -y update
如果显示以下内容说明已经更新完成
Complete!
2.重启服务器
[root@localhost ~]# reboot
3.安装防火墙
[root@localhost ~]# yum install firewalld
4.设置在开机时启用防火墙服务
[root@localhost ~]# systemctl enable firewalld.service
4.查看防火墙状态
[root@localhost ~]# systemctl status firewalld
5.启动防火墙
[root@localhost ~]# systemctl start firewalld
6.增加80端口到防火墙规则
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
7.增加3306端口到防火墙规则
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3306/tcp
8.增加21端口到防火墙规则
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=21/tcp
9.增加33000端口到防火墙规则
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=33000-33003/tcp
10.设置HTTP协议服务被允许
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http
11.使最新的防火墙设置规则生效
[root@localhost ~]# firewall-cmd --reload
12.重启防火墙服务
[root@localhost ~]# systemctl restart firewalld.service
复制代码
  1. firewalld的基本使用:
# 使最新的防火墙设置规则生效
[root@localhost ~]# firewall-cmd --reload 
# 查询ssh协议服务是否被允许
[root@localhost ~]# firewall-cmd --zone=public --query-service=ssh
# 查询HTTP协议服务是否被允许
[root@localhost ~]# firewall-cmd --zone=public --query-service=http
# 启动
[root@localhost ~]# systemctl start firewalld
# 查看状态
[root@localhost ~]# systemctl status firewalld 
# 停止
[root@localhost ~]# systemctl disable firewalld
# 禁用
[root@localhost ~]# systemctl stop firewalld 
#启动服务
[root@localhost ~]# systemctl start firewalld.service
# 关闭服务
[root@localhost ~]# systemctl stop firewalld.service
# 重启服务
[root@localhost ~]# systemctl restart firewalld.service
# 显示一个服务的状态
[root@localhost ~]# systemctl status firewalld.service
# 在开机时启用一个服务
[root@localhost ~]# systemctl enable firewalld.service
# 在开机时禁用一个服务
[root@localhost ~]# systemctl disable firewalld.service
# 查看服务是否开机启动
[root@localhost ~]# systemctl is-enabled firewalld.service
# 查看已启动的服务列表
[root@localhost ~]# systemctl list-unit-files|grep enabled
# 查看启动失败的服务列表
[root@localhost ~]# systemctl --failed
# 查看版本
[root@localhost ~]# firewall-cmd --version
# 查看帮助
[root@localhost ~]# firewall-cmd --help
# 显示状态
[root@localhost ~]# firewall-cmd --state
# 查看所有打开的端口
[root@localhost ~]# firewall-cmd --zone=public --list-ports
# 更新防火墙规则
[root@localhost ~]# firewall-cmd --reload
# 查看区域信息
[root@localhost ~]# firewall-cmd --get-active-zones
# 查看指定接口所属区域
[root@localhost ~]# firewall-cmd --get-zone-of-interface=eth0
# 拒绝所有包
[root@localhost ~]# firewall-cmd --panic-on
# 取消拒绝状态
[root@localhost ~]# firewall-cmd --panic-off
# 查看是否拒绝
[root@localhost ~]# firewall-cmd --query-panic
# 端口添加(--permanent永久生效,没有此参数重启后失效)
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
# 使最新的防火墙设置规则生效
[root@localhost ~]# firewall-cmd --reload 
# 查看80端口
[root@localhost ~]# firewall-cmd --zone=public --query-port=80/tcp
# 删除80端口
[root@localhost ~]# firewall-cmd --permanent --zone=public --remove-port=80/tcp
# 删除21端口
[root@localhost ~]# firewall-cmd --permanent --zone=public --remove-port=21/tcp
# 删除HTTP协议服务
[root@localhost ~]# firewall-cmd --permanent --zone=public --remove-service=http
# 增加3306端口到防火墙规则tcp
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3306/tcp
# 增加3306端口到防火墙规则udp
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3306/udp
# 查看当前的区域
[root@localhost ~]# firewall-cmd --get-default-zone
# 查看当前的服务
[root@localhost ~]# firewall-cmd --zone=public --list-services
# 安装图形化用户接口工具 firewall-config,则以 root 用户身份运行下列命令
[root@localhost ~]# yum install firewall-config
# 检查防火墙版本
[root@localhost ~]# firewall-cmd --version
# 查看帮助
[root@localhost ~]# firewall-cmd --help



相关文章
|
2月前
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
132 0
|
19天前
|
Web App开发 搜索推荐 Unix
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
【10月更文挑战第21天】Linux系统之MobaXterm远程连接centos的GNOME桌面环境
163 4
Linux系统之MobaXterm远程连接centos的GNOME桌面环境
|
2月前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
262 80
|
1月前
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
155 0
虚拟机centos7.9一键部署docker
|
2月前
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
389 3
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
2月前
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
119 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
1月前
|
安全 Linux 数据库连接
CentOS 7环境下DM8数据库的安装与配置
【10月更文挑战第16天】本文介绍了在 CentOS 7 环境下安装与配置达梦数据库(DM8)的详细步骤,包括安装前准备、创建安装用户、上传安装文件、解压并运行安装程序、初始化数据库实例、配置环境变量、启动数据库服务、配置数据库连接和参数、备份与恢复、以及安装后的安全设置、性能优化和定期维护等内容。通过这些步骤,可以顺利完成 DM8 的安装与配置。
213 0
|
2月前
|
Kubernetes Linux Docker
在centos7上搭建k8s环境
在centos7上搭建k8s环境
|
2月前
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
114 0
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
3月前
|
Linux 数据安全/隐私保护 网络虚拟化
centos7部署Pritunl
centos7部署Pritunl