likes
comments
collection
share

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

作者站长头像
站长
· 阅读数 6

看了很多相关的文章,发现都讲得不是很全面。于是我花了几天时间,终于完成了整个部署流程。

为什么已经2024年了,还选择Jenkins?gitlab不是集成了gitlab-runner可以进行CI/CD部署吗?因为Jenkins更加灵活,可以搭配其他的工具进行各种定制部署方案。并且Jenkins开源免费,资料也比较全,目前找不到更好的替代方案。

SonarQube是代码审核工具,能够对代码进行扫码,提升代码质量。

环境准备

windows11, docker

部署开始

复制以下yml文件,进行docker-compose部署

version: '3.6'
name: gitlab
services:
    gitlab:
        image: 'gitlab/gitlab-ce:latest'
        container_name: gitlab
        restart: always
        hostname: '127.0.0.1'
        privileged: true
        environment:
            TZ: 'Asia/Shanghai'
            GITLAB_OMNIBUS_CONFIG: |
                external_url 'http://127.0.0.1:30080' # web站点访问地址
                registry_external_url 'http://127.0.0.1:30080'
                gitlab_rails['time_zone'] = 'Asia/Shanghai'
            GITLAB_ROOT_PASSWORD: 'abc123456'
        ports:
            - '30080:30080' # 注意宿主机和容器内部的端口要一致,否则external_url无法访问
            - '443:443'
            - '22:22'
        volumes:
            - './gitlab/config:/etc/gitlab'
            - './gitlab/logs:/var/log/gitlab'
            - './gitlab/data:/var/opt/gitlab'
        shm_size: '256m'

    jenkins:
        image: jenkins/jenkins:latest
        container_name: jenkins
        user: root
        restart: always
        ports:
            - 8080:8080
            - 5000:5000
        volumes:
            - ./jenkins/jenkins_home/:/var/jenkins_home

    sonarqube:
        image: sonarqube:latest
        container_name: sonarqube
        restart: always
        ports:
            - 9000:9000
        depends_on:
            - postgres
        environment:
            - SONARQUBE_JDBC_USERNAME=sonar
            - SONARQUBE_JDBC_PASSWORD=Sonar12#$
            - SONARQUBE_JDBC_URL=jdbc:postgresql://postgres:5432/sonarqube
        volumes:
            - ./sonarqube/conf:/opt/sonarqube/conf
            - ./sonarqube/data:/opt/sonarqube/data
            - ./sonarqube/extensions:/opt/sonarqube/extensions

    postgres:
        image: postgres:latest
        container_name: postgres
        restart: always
        ports:
            - 5432:5432
        environment:
            - POSTGRES_USER=sonar
            - POSTGRES_PASSWORD=Sonar12#$
            - POSTGRES_DB=sonarqube
        volumes:
            - ./postgres/postgresql:/var/lib/postgresql
            - ./postgres/postgresql_data:/var/lib/postgresql/data

networks:
    gitlab:
        external: true

配置gitlab

gitlab的部署要等很久,大概10分钟之后,就可以进入http://localhost:30080/users/sign_in ,因为gitlab我配置的密码是abc123456,账号是root,即可登录。

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

配置ssh,用于推送项目

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

然后创建一个vue3空项目,按照提示拉取项目git clone http://127.0.0.1:30080/root/vue3.git, 并且用vite创建一个vue3项目放进去,再推到仓库上。这些都很简单,就不演示了。

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

踩坑一、 Requests to the local network are not allowed

后面测试,会出现这个错误,所以要配置好。

在这个Settings/Network中,也就是 http://localhost:30080/admin/application_settings/network 的位置,找到Outbound requests,勾选上,然后保存配置。

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

安装Jenkins

进入Jenkins网站,http://localhost:8080

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 在终端中输入docker logs -f jenkins查看密码

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

选择推荐的要花20分钟的时间来安装,太慢了,我们选择自定义

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 点一下无,取消所有选项,然后进入下一步

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

配置Jenkins

先安装插件

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 安装gitlab,gitlab API,nodejs,SonarQube

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 安装一下nodejs插件和SonarQube插件,最新即可

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

创建项目,与gitlab对接

选择第一个就行了

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 把项目地址的127.0.0.1改成gitlab,添加凭证 2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 用gitlab的账号密码登录,也就是root,abc123456

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 没有红色,就说明成功了

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 修改分支为main

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

生成Jenkins token

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 保存token,环境勾选Node

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 选择shell脚本,输入打包的语句 2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 保存即可

配置gitlab webhooks

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 按照图片中的填写,保存即可

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 测试一下是否成功

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 这样就说明成功了

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

配置SonarQube token

进入sonarqube网站,账号密码都是admin

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 添加一个项目,使用local project

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 创建后,自动跳转到这里

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 保存好这个token

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

与SonarQube对接

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤 按照填写即可

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

配置SonarQube Scanner

再次进入项目配置,添加SonarQube Scanner。

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

主要填写以下内容:

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

sonar.projectKey=vue
sonar.projectName=vue

sonar.javascript.node.maxspace=4096

sonar.sources=src

sonar.sourceEncoding=UTF-8

sonar.token=你的token

保存后,再跑一次

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

到SonarQube看一下,完美通过

2024年全网最全,用docker-compose部署gitlab、Jenkins、SonarQube步骤

转载自:https://juejin.cn/post/7341315113158541327
评论
请登录