## 环境大纲

我先把整个流程的大纲罗列以下，后续的章节会介绍每一个环境

操作系统：Linux（centos 7）

以下是之后将集成的环境：

- jenkins环境
- jdk17环境
- jenkins权限
- .net8环境
- nohup环境
- docker环境
- node.js环境
- 7z环境
- git环境

## jdk17+Jenkin环境

> 强烈不建议将jenkins安装在docker中，会遇到各种牛马权限等命令问题，像这种运维工具，强烈推荐直接安装到主机中

这个可以通过yum进行安装，官网有对应的教程，跟着教程安装即可

官网教程地址：https://pkg.jenkins.io/redhat-stable/

使用以下命令先安装jdk17后，再安装jenkins
``` shell
  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-2023.key

  yum install fontconfig java-17-openjdk
  yum install jenkins
```
安装完成后，使用`systemctl start jenkins`启动即可

首次启动后，将会出现需要管理员密钥，这里跟着提示，去cat命令查看对应的文件，复制即可，后续下载推荐的安装插件，同时创建一个账号

> 这里推荐安装插件极有可能因为网络原因无法进行下载及安装，需要看一下，是什么导致的，如果显示是ssl导致的，可先跳过推荐插件下载，离线安装` skip-certificate-check.hpi `插件，即可加载成功

当安装完成后，如果下载插件慢，可以更换插件源，这个网上资料很多

另外，执行命令的时候，很多时候会显示jenkins无权限

需要给jenkins对应的目录权限，这里为Jenkins的主目录
``` shell
chown -R jenkins:jenkins /var/lib/jenkins/
```

## .Net8环境安装

好吧，如果想在centos中安装.net8也是一个坑，由于centos已经放弃维护了，yum也不支持直接安装了，需要我们手动下载.net sdk进行安装

> 如果centos版本不是很高，还会遇到c++库的一些版本问题

我们可以通过微软官网下载安装教程：
https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0

由于centos7已经不支持了，所以我们只能选择二进制进行手动安装

下载完对应的文件之后，我们需要手动配置环境变量

这里，我是习惯安装到我的/opt/dotnet文件夹下
``` shell
mkdir -p /opt/dotnet/dotnet && tar zxf dotnet-sdk-8.0.100-linux-x64.tar.gz -C /opt/dotnet/dotnet
export DOTNET_ROOT=/opt/dotnet/dotnet
export PATH=$PATH:/opt/dotnet/dotnet
```


## docker环境安装
这个安装没啥说的，网上资料一大把，就不重复了，安装个docker而已，洒洒水啦~

这里我还是给一下网上的教程
``` shell
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce

#启动
sudo systemctl start docker

#设置开机自动启动
sudo systemctl enable docker

sudo docker version
```

## node.js环境安装

由于前端的代码需要编译并进行打包，我们还需要node.js的环境

> 版本别下载的太新了，太新了对操作系统的环境是有要求的，通常下载16-18的版本即可

以下是18.13版本的官网下载地址：
https://nodejs.org/dist/v18.13.0/

我们需要通过手动二进制去进行安装

与.net8安装操作几乎是一致的，可以将下载的包解压到/opt/nodejs目录下

然后设置环境变量

``` shell
export PATH=$PATH:/opt/nodejs/node-v18.13.0-linux-x64/bin\
```

这里可以检测一下的环境变量
``` shell
export PATH

# 可以偷懒，直接强行赋值
export PATH=/usr/share/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/dotnet:/opt/nodejs/node-v18.13.0-linux-x64/bin
```

我们可以测试输出node和npm命令是否有反应

## 7z.zip环境安装
因为我们设计到压缩包的传输，所以要压缩包的操作，这里推荐使用7z好用，但是我发现网上下载的操作奇奇怪怪的，我也放一个出来吧
``` shell
# 先安装epel-release\
yum -y install epel-release\
# 在执行安装[7z]的功能\
yum -y install p7zip p7zip-plugins

```

可以测试使用7z的命令是否有反应

## git安装
这个简单，直接
``` shell
yum install git
```
一步到位
## 环境准备完成

好了，到此，基本核心的环境你已经准备完成

已经结束了？不，其实真正的坑多的，还是在jenkins这块，为此我单独将jenkins单独拿出篇幅，下章进行教程