目录
- 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.171 | gitlab服务器 | docker、docker compose |
192.164.40.172 | sonarqube服务器 | docker、docker compose |
192.168.40.139 | 目标服务器 | docker、docker compose |
192.168.40.138 | harbor服务器 | docker、docker compose、harbor |
192.168.40.137 | jenkins服务器 | 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,所以需要一台安装有 docker
及 docker-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 数据库。所以需要下载Postgres
与 SonarQube
两个镜像。
[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 。