[Docker实现测试部署CI/CD----相关服务器的安装配置(1)]

目录

  • 0、CI/CD
    • 系统最终架构图
    • 规划IP地址
  • 1、git配置
    • Git下载
    • pycharm配置git
    • idea配置git
  • 2、GitLab安装与配置
    • 主机要求
    • 拉取镜像
    • 定义 compose.yml
    • 启动gitlab
    • 浏览器访问并修改密码
      • 查看登录密码
      • 修改密码
  • 3、SonarQube 安装与配置
    • 拉取镜像
    • 修改虚拟内存的大小
    • 启动SonarQube
    • 登录 SonarQube
    • 安装汉化插件
  • 4、harbor安装配置
    • 启动访问
    • 新建镜像仓库
  • 5、目标服务器安装配置

0、CI/CD

CI,Continuous Integration,持续集成。即将持续不断更新的代码经构建、测试后也持续不断的集成到项目主干分支。

CD,包含两层含义:Continuous Delivery,持续交付,和 Continuous Deployment,持续 部署。

  • 持续交付:是持续集成的后续步骤,持续频繁地将软件的新版本交付到类生产环境预发, 即交付给测试、产品部门进行集成测试、API 测试等验收,确保交付的产物可直接部署
  • 持续部署:是持续交付的后续步骤,将持续交付的产物部署到生产环境

系统最终架构图

在这里插入图片描述

规划IP地址

IP地址说明安装软件
192.168.40.171gitlab服务器docker、docker compose
192.164.40.172sonarqube服务器docker、docker compose
192.168.40.139目标服务器docker、docker compose
192.168.40.138harbor服务器docker、docker compose、harbor
192.168.40.137jenkins服务器docker、docker compose、jdk

1、git配置

Git下载

       Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linux Torvalds设计开发的,用于管理Linux内核开发。

下载网址:点击这里进入Git官网

在这里插入图片描述
在这里插入图片描述

官网下载太慢,我们可以使用淘宝镜像下载:镜像下载

在这里插入图片描述
在这里插入图片描述
       下载后无脑安装,安装成功后在电脑任一位置右击出现如下图所示内容,则安装成功

在这里插入图片描述

pycharm配置git

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

idea配置git

在这里插入图片描述

在这里插入图片描述

2、GitLab安装与配置

        GitLab 是一个源码托管开源工具,其使用 Git 作为代码管理工具,并在此基础上搭建起 来的 Web 服务。 生产中通常使用 GitLab 搭建私有源码托管平台。

主机要求

        这里要使用 docker 方式来安装 GitLab,所以需要一台安装有 dockerdocker-compose 的主机,且该主机内存至少 4G

拉取镜像

        这里使用由 gitlab 官网发布的社区版镜像 gitlab/gitlab-ce:latest。该镜像最好是先拉取到 本地后再使用,因为该镜像比较大。

[root@gitlab ~]# docker pull gitlab/gitlab-ce

可以看到,占用的内存还是比较大的

在这里插入图片描述

定义 compose.yml

        在任意目录 mkdir 一个子目录,例如在/opt下新建一个 glab 目录。在该目录中新 建 compose.yml 文件

[root@gitlab opt]# mkdir -p /opt/glab

compose.yml文件如下

services:gitlab:image: gitlab/gitlab-cecontainer_name: gitlabrestart: alwaysenvironment:GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.40.171:9999' # 设置 GitLab 的配置,包括外部访问 URL 和 SSH 端口等gitlab_rails['gitlab_shell_ssh_port']=2222ports:- 9999:9999- 2222:2222volumes:- ./config:/etc/gitlab- ./logs:/var/log/gitlab- ./data:/var/opt/gitlab

启动gitlab

启动需要一段时间,耐心等待一会

[root@gitlab glab]# docker compose up -d
[+] Running 2/2✔ Network glab_default  Created                                         0.1s ✔ Container gitlab      Started                                         0.5s 

浏览器访问并修改密码

        在浏览器中直接键入 http://192.168.192.171:9999 即可打开登录页面。不过,这个过程 一般需要的时间较长。这里需要登录的用户名与密码。默认的用户名为root,而默认密码需要进入容器中查看。

在这里插入图片描述

查看登录密码

        初始密码在容器中/etc/gitlab/initial_root_password 文件中。所以需要首先进入容器,然后查看该文件内容。然后再将 root 用户名与复制来的密码填写到登录页面的相应位置即可登录成功。

在这里插入图片描述

修改密码

在这里插入图片描述

在这里插入图片描述

用户名为:root 设置新密码为:修改过的密码(密码复杂度要高一点,不然修改不成功),重新登陆即可

3、SonarQube 安装与配置

        SonarQube 是一个开源的代码扫描与分析平台,用来持续扫描、分析和评测项目源代码的质量与安全。 通过 SonarQube 可以检测项目中代码量、安全隐患、编写规范隐患、重复 度、复杂度、代码增量、测试覆盖率等多个维度,并通过 SonarQube web UI 展示出来。

拉取镜像

        由于 SonarQube 需要 Postgres 数据库的支持,所以安装 SonarQube 之前需要先安装 Postgres 数据库。所以需要下载PostgresSonarQube 两个镜像。

[root@sonarqube opt]# docker pull postgres
[root@sonarqube opt]# docker pull sonarqube:9.9-community

/opt下新建一个 sonarqube 目录。在该目录中新建 compose.yml 文件

compose.yml

services:postgres:images: postgrescontainer_name: pgdbrestart: alwaysports:- 5432:5432environment:POSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarsonarqube:image: sonarqube:9.9-communitycontainer_name: sonarqbrestart: alwaysdepends_on:- postgresports:- 9000:9000environment:SONAR_JDBC_URL: jdbc:postgresql://pgdb:5432/sonar # 连接postgresqlSONAR_JDBC_USERNAME: sonarSONAR_JDBC_PASSWORD: sonar

修改虚拟内存的大小

/etc/sysctl.conf 文件中指定 vm.max_map_count 虚拟内存大小

vm.max_map_count=262144

修改保存后再运行 sysctl –p 命令使 Linux 内核加载文件中的配置

sysctl –p

启动SonarQube

[root@sonarqube sonarqube]# docker compose up -d
[+] Running 3/3✔ Network sonarqube_default  Created                                                                             0.1s ✔ Container pgdb             Started                                                                             0.7s ✔ Container sonarqb          Started 

在这里插入图片描述

登录 SonarQube

        在浏览器键入 SonarQube 服务器的 IP 与端口号 9000,即可打开登录页面。默认用户名与密码都是 admin。

在这里插入图片描述

用户名:admin 设置新密码为:123456

安装汉化插件

在这里插入图片描述

安装成功后,在页面上部就可看到 Restart Server 的提示,重启 SonarQube。

在这里插入图片描述

4、harbor安装配置

harbor的安装可以看我这篇文章 docker harbor的安装使用以及镜像上传和拉取

启动访问

默认用户名为admin,密码是Harbor12345

在这里插入图片描述

新建镜像仓库

在这里插入图片描述

在这里插入图片描述

5、目标服务器安装配置

       目标服务器需要从镜像中心 Harbor 中 docker pull 镜像,然后使用 docker run 来运行容器,所以目标服务器中需要安装 Docker 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/52346.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IO进程线程第七天(8.4)信号量,条件变量

在第一题的基础上加上一个需求:要求打印,倒置线程,顺序执行。出现的现象为先打印1234567,后打印7654321(不使用flag) 创建两个线程,其中一个线程读取文件中的数据,另外一个线程将读…

3分钟白话RocketMQ系列—— 核心概念

白话3分钟,快速了解RocketMQ基础,包括适用场景,以及基本概念。 看完如果不了解,欢迎来打我。 关键字摘要 低延迟、高可用、高可靠、高并发 的消息中间件适合在线业务分为producer、consumer、nameserver、broker等角色另外还有主…

【C++】STL——stack和queue的模拟实现、空间适配器、deque的介绍、增删查改函数的简单实现

文章目录 1.deque的简单介绍2.模拟实现stack3.模拟实现queue 1.deque的简单介绍 deque的介绍文档 deque(双端队列):是一种双开口的"连续"空间的数据结构,双开口的含义是:可以在头尾两端进行插入和删除操作,且时间复杂度…

15 springboot项目——thymeleaf语法与关闭模板引擎

15.1 thymeleaf语法 在html文件中&#xff0c;有些是需要使用本地的css样式&#xff0c;使用thymeleaf语法加载&#xff1a; 首先对head标签上面的html标签进行更改&#xff1a; <html lang"en" xmlns:th"http://www.thymeleaf.org"> 其次&#xff…

Ajax快速入门

文章目录 Ajax原生ajaxaxios案例 Ajax Ajax就是前端访问服务器端数据的一个技术 还有主要就是异步交互 就是在不刷新整页面的情况下&#xff0c;和服务器交换部分我也数据 比如搜索的联想技术 同步和异步的概念 一个是客户端需要等待服务器完成处理&#xff0c;才能进行别的事…

从0到1框架搭建,Python+Pytest+Allure+Git+Jenkins接口自动化框架(超细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 接口测试是对系统…

解决 idea maven依赖引入失效,无法正常导入依赖问题

解决 idea maven依赖引入失效&#xff0c;无法正常导入依赖问题_idea无法导入本地maven依赖_普通网友的博客-CSDN博客 解决 idea maven依赖引入失效&#xff0c;无法正常导入依赖问题 idea是真的好用&#xff0c;不过里面的maven依赖问题有时候还真挺让人头疼&#xff0c;不少小…

Jenkins通过OpenSSH发布WinServer2016

上一篇文章> Jenkins集成SonarQube代码质量检测 一、实验环境 jenkins环境 jenkins入门与安装 容器为docker 主机IP系统版本jenkins10.10.10.10rhel7.5 二、OpenSSH安装 1、下载 官网地址&#xff1a;https://learn.microsoft.com/zh-cn/windows-server/administration/op…

数学建模-元胞自动机

clc clear n 300; % 定义表示森林的矩阵大小 Plight 5e-6; Pgrowth 1e-2; % 定义闪电和生长的概率 UL [n,1:n-1]; DR [2:n,1]; % 定义上左&#xff0c;下右邻居 vegzeros(n,n); % 初始化表示森林的矩阵 imh ima…

Python实现(条形码,二维码)生成识别

Python实现&#xff08;二维码&#xff0c;条形码&#xff09;生成识别 生成条形码生成二维码识别条形码二维码 生成条形码 安装barcode模块: $ pip install python-barcode barcode文档 import barcode from barcode.writer import ImageWriter # 更多了解&#xff1a;https…

多模块Springboot项目maven单独打包子模块

背景介绍 最近接手一个项目代号XXL&#xff0c;是一个多模块的Springboot项目&#xff0c;在解决了线上的bug之后&#xff0c;想单独给子模块打包上线部署&#xff0c;问题来了。如果整个工程一起mvn -X -DskipTests clean package&#xff0c;打包出来的XXL-web.jar是可以正常…

【2023 华数杯全国大学生数学建模竞赛】 A题 隔热材料的结构优化控制研究 问题分析、模型建立及参考文献

【2023 华数杯全国大学生数学建模竞赛】 A题 隔热材料的结构优化控制研究 问题分析、模型建立和参考文献 1 题目 A 题 隔热材料的结构优化控制研究 新型隔热材料 A 具有优良的隔热特性&#xff0c;在航天、军工、石化、建筑、交通等高科技领域中有着广泛的应用。 目前&#…