CI,Continuous Integration,持续集成。即将持续不断更新的代码经构建、测试后也持续不断的集成到项目主干分支。
CD,包含两层含义:Continuous Delivery,持续交付,和 Continuous Deployment,持续 部署。
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 |
Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linux Torvalds设计开发的,用于管理Linux内核开发。
下载网址:点击这里进入Git官网
官网下载太慢,我们可以使用淘宝镜像下载:镜像下载
下载后无脑安装,安装成功后在电脑任一位置右击出现如下图所示内容,则安装成功
GitLab
是一个源码托管开源工具,其使用 Git 作为代码管理工具,并在此基础上搭建起 来的 Web 服务。 生产中通常使用 GitLab 搭建私有源码托管平台。
这里要使用 docker 方式来安装 GitLab,所以需要一台安装有 docker
及 docker-compose
的主机,且该主机内存至少 4G
。
这里使用由 gitlab 官网发布的社区版镜像 gitlab/gitlab-ce:latest
。该镜像最好是先拉取到 本地后再使用,因为该镜像比较大。
[root@gitlab ~]# docker pull gitlab/gitlab-ce
可以看到,占用的内存还是比较大的
在任意目录 mkdir 一个子目录,例如在/opt下新建一个 glab 目录。在该目录中新 建 compose.yml 文件
[root@gitlab opt]# mkdir -p /opt/glab
compose.yml文件如下
services:
gitlab:
image: gitlab/gitlab-ce
container_name: gitlab
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.40.171:9999' # 设置 GitLab 的配置,包括外部访问 URL 和 SSH 端口等
gitlab_rails['gitlab_shell_ssh_port']=2222
ports:
- 9999:9999
- 2222:2222
volumes:
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab
- ./data:/var/opt/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 设置新密码为:修改过的密码(密码复杂度要高一点,不然修改不成功),重新登陆即可
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: postgres
container_name: pgdb
restart: always
ports:
- 5432:5432
environment:
POSTGRES_USER: sonar
POSTGRES_PASSWORD: sonar
sonarqube:
image: sonarqube:9.9-community
container_name: sonarqb
restart: always
depends_on:
- postgres
ports:
- 9000:9000
environment:
SONAR_JDBC_URL: jdbc:postgresql://pgdb:5432/sonar # 连接postgresql
SONAR_JDBC_USERNAME: sonar
SONAR_JDBC_PASSWORD: sonar
在/etc/sysctl.conf
文件中指定 vm.max_map_count
虚拟内存大小
vm.max_map_count=262144
修改保存后再运行 sysctl –p
命令使 Linux 内核加载文件中的配置
sysctl –p
[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 服务器的 IP 与端口号 9000,即可打开登录页面。默认用户名与密码都是 admin。
用户名:admin 设置新密码为:123456
安装成功后,在页面上部就可看到 Restart Server 的提示,重启 SonarQube。
harbor的安装可以看我这篇文章 docker harbor的安装使用以及镜像上传和拉取
默认用户名为admin
,密码是Harbor12345
目标服务器需要从镜像中心 Harbor 中 docker pull 镜像,然后使用 docker run 来运行容器,所以目标服务器中需要安装 Docker 。