DevOps 学习笔记(一) | DevOps 简介及环境搭建
创始人
2024-05-27 13:58:46
0

1. 环境配置

本次实验需要三台服务器CI/CD 服务器应用服务器Harbor 服务器

DevOps 步骤

  1. 程序员将代码 push 到代码仓库
  2. Jenkins 根据触发条件拉取代码到CI/CD 服务器
  3. Jenkins 使用 Maven 将代码 build 成 jar 包
  4. Jenkins 使用 jar 包通过 Dockerfile 和 docker-compose.yml 文件制作自定义镜像
  5. Jenkins 将自定义镜像推送到Harbor 服务器
  6. Jenkins 调用应用服务器拉取自定义镜像
  7. 应用服务器运行镜像

在这里插入图片描述

CI/CD服务器需要安装:

  • JDK
  • Jenkins
  • Git
  • Maven
  • Docker

应用服务器需要安装:

  • Docker or Kubernetes 集群

Harbor服务器需要安装

  • Docker
  • Harbor 镜像仓库

2. 配置 CI/CD 服务器

2.1 安装 Jenkins

Jenkins 安装官方文档

CI/CD服务器环境为 CentOS 7,使用 yum 方式进行安装

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

如果机器没有安装 Java 的话需要使用以下命令安装 Java 11

yum install -y fontconfig java-11-openjdk

之后使用命令安装 Jenkins

yum install -y jenkins

下载安装后执行下面命令启动 Jenkins

systemctl start jenkins

使用下面命令获取初始密码

cat /var/lib/jenkins/secrets/initialAdminPassword

浏览器中输入 localhost:8080 打开 Jenkins 管理界面输入初始密码,选择安装推荐的插件,创建新的用户,之后开始使用 Jenkins。

2.2 配置 Jenkins

2.2.1 配置远程服务器

在插件管理页面安装好 Publish Over SSH 插件

进入全局配置界面,配置好远程服务器的信息,Remote Directory 是把文件传送到远程服务器的位置

在这里插入图片描述

此时点击 Test Configuration 可能会报错

jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to change to remote directory [/usr/local/test]]

在远程服务器上创建 /usr/local/test 目录即可

2.2.2 配置 Maven

在插件管理页面安装好 Maven Integration 插件

CI/CD服务器上下载并安装 Maven,步骤如下

  1. 访问 Maven 官方网站

  2. 复制红框里 Maven 的下载链接

    在这里插入图片描述

  3. 使用命令下载解压并将其移动到对应目录下

    wget https://dlcdn.apache.org/maven/maven-3/3.9.0/binaries/apache-maven-3.9.0-bin.tar.gz
    tar -xvf  apache-maven-3.9.0-bin.tar.gz
    mv -f apache-maven-3.9.0 /usr/local/
    

安装 Maven 成功后,打开 Jenkins,进入 Global Tool Configuration 页面,按照下图进行配置并保存,没有报错则 Maven 配置成功
图片.png

3. 配置应用服务器

3.1 安装 Docker

可访问 CentOS环境下使用Docker 一文进行安装 Docker 的操作

3.2 安装 Docker-compose

curl -L https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

4. 配置 Harbor 服务器

进入 Harbor releases page,下载 Harbor offline 压缩文件 harbor-offline-installer-v2.5.6.tgz 并将其传到Harbor 服务器上并解压到指定位置

tar -zxvf harbor-offline-installer-v2.5.6.tgz -C /usr/local

对 Harbor 进行配置

cd /usr/local/harbor/
cp harbor.yml.tmpl harbor.yml
vi harbor.yml

将 hostname 一行内容改为Harbor 服务器的 IP 地址,并将 https 内容全部注释掉

# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 192.168.80.128# https related config
# https:# https port for harbor, default is 443# port: 443# The path of cert and key files for nginx# certificate: /your/certificate/path# private_key: /your/private/key/path

安装 Harbor

./install.sh

如果启动时报错

[Step 5]: starting Harbor ...
[+] Running 0/1⠿ Network harbor_harbor  Error                                                                                                     0.1s
failed to create network harbor_harbor: Error response from daemon: Failed to Setup IP tables: Unable to enable SKIP DNAT rule:  (iptables failed: iptables --wait -t nat -I DOCKER -i br-79dd02c9a738 -j RETURN: iptables: No chain/target/match by that name.(exit status 1))

只需要重启 Docker 后再次执行安装即可

systemctl restart docker
./install.sh

访问Harbor 服务器的 80 端口,默认账号为 admin,密码为 Harbor12345

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...