gitlab-ce + gitlab-runner + sonarqube,在提交代码时对代码质量进行检测,对不符合要求的代码不允许提交到gitlab

version: '3.1'
services: gitlab-ce:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab-ce
restart: always
hostname: 'gitlab.localhost.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.31.109'
ports:
- '80:80'
- '443:443'
- '10022:22'
volumes:
- '/root/gitlab-ce/home/config:/etc/gitlab'
- '/root/gitlab-ce/home/logs:/var/log/gitlab'
- '/root/gitlab-ce/home/data:/var/opt/gitlab'
networks:
- 'default' gitlab-runner:
image: 'gitlab/gitlab-runner:latest'
container_name: gitlab-runner
depends_on:
- 'gitlab-ce'
restart: always
volumes:
- '/root/gitlab-ce/runnerconfig:/etc/gitlab-runner'
- '/var/run/docker.sock:/var/run/docker.sock'
networks:
- 'default'
links:
- 'gitlab-ce:gitlab.localhost.com' mysql:
image: mysql:5.7.27
container_name: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
ports:
- 3306:3306
volumes:
- /root/gitlab-ce/mysql/data:/var/lib/mysql
- /root/gitlab-ce/mysql/logs:/logs
- /root/gitlab-ce/mysql/init:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: root@123456
MYSQL_USER: test #创建test用户
MYSQL_PASSWORD: test #设置test用户的密码
networks:
- 'default' sonarqube:
image: sonarqube:7.7-community
# image: sonarqube:latest
container_name: sonarqube
ports:
- "9000:9000"
- "9002:9002"
volumes:
- "/root/gitlab-ce/sonarqube/conf:/opt/sonarqube/conf"
- "/root/gitlab-ce/sonarqube/extensions:/opt/sonarqube/extensions"
- "/root/gitlab-ce/sonarqube/logs:/opt/sonarqube/logs"
- "/etc/sysctl.conf:/etc/sysctl.conf"
# - "/root/gitlab-ce/sonarqube/data:/opt/sonarqube/data"
environment:
sonar.jdbc.username: root #root管理员用户密码
sonar.jdbc.password: root@123456 #创建test用户
sonar.jdbc.url: "jdbc:mysql://mysql:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false"
restart: always
depends_on:
- mysql
links:
- mysql
networks:
- 'default' sysctls:
- net.core.somaxconn=1024
ulimits:
nproc: 65536
nofile:
soft: 65536
hard: 65536 networks:
default:
driver: 'bridge'

未测试。

参考:

https://yq.aliyun.com/articles/711488?spm=a2c4e.11155435.0.0.16cc2eb4nWOrV4

https://www.ibm.com/developerworks/cn/java/j-lo-sonar/

代码检测docker-sonarqube的更多相关文章

  1. Docker搭建代码检测平台SonarQube并检测maven项目

    1 前言 良好的代码习惯是一个优秀程序员应该具备的品质,但靠人的习惯与记忆来保证代码质量,始终不是一件靠谱的事.在计算机行业应该深知,只要是人为的,都会有操作风险.本文讲解如何通过Docker搭建代码 ...

  2. jenkins sonarqube 代码检测部署

    install pgsql and sonarqube docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWO ...

  3. SonarQube 之 gitlab-plugin 配合 gitlab-ci 完成每次 commit 代码检测

    转载自:https://cloud.tencent.com/developer/article/1010601 1.背景介绍 我们知道使用 SonarQube 可以在日常开发中检测代码质量,除了使用 ...

  4. 搭建基于SornaQube的自动化安全代码检测平台

    一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...

  5. 代码质量管理工具——SonarQube

    写在前面 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. SonarQube的流行,在于以下几点: 开 ...

  6. 基于git diff进行的eslint代码检测

    缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度 ...

  7. Unity 代码检测单击,双击,拖放

    今天小伙伴问我如何自己写一段代码检测 单击 双击 和 拖放.于是就写了这段代码O(∩_∩)O~ 代码如下: using UnityEngine; using System.Collections; p ...

  8. Jenkins+PMD构建自动化静态代码检测

    前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测 缺陷预防包括编写更好的设计规范.实施代码审核制度.运行代码静态分析工具.运行单元测试等 PMD是一种开 ...

  9. 2.2、Android Studio通过注解提升代码检测

    使用像Lint这样的代码检测工具可以帮助你发现问题和提升代码,但是代码检测在有些地方很难应用.例如,Android的资源ID,使用一个int类型来表示字符.图像.颜色或者其他资源类型所以代码检测工具不 ...

  10. iOS开发之一句代码检测APP版本的更新

    提示更新效果图如下,当然也是可以自定义类似与AlertView相似的自定义view,如京东.网易云音乐都是自定义了这种提示框的view.以下只展示,从App Store获取到app信息.并解析app信 ...

随机推荐

  1. DSP28335 eCAP 测频

    F28335共有6组eCAP模块,每个eCAP不但具有捕获功能,而且还可用作PWM输出功能.F28335捕获模块的主要特征如下: 1. 150MHz系统时钟的情况下,32位时基的时间分辨率为6.67n ...

  2. Python pymysql对数据库的基础操作

    示例数据库名demo,表名info select * from info; 查看该表数据 +----+-------+--------+-----+---------------------+---- ...

  3. linux netstat 查看端口

    1. netstat命令用于显示系统的网络信息,包括网络连接 .路由表 .接口状态2. 一般我们使用 netstat 来查看本机开启了哪些端口,查看有哪些客户端连接 [root@localhost ~ ...

  4. PostgreSQL逻辑复制到kafka-实践

    kafka 安装 wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz cp kafka_2.12-2.0.1.t ...

  5. rk3288 编译应用程序

    一. Android.mk 1.1. 什么是.mk Android.mk是Android提供的一个makefile文件,可以将源文件分组为模块.用来引用的头文件目录.需要编译的*.c/*.cpp文件. ...

  6. x系统清理/tmp/文件夹的原理

    转自:http://www.opsers.org/base/clean-up-on-the-linux-system-tmp-folder-you-may-want-to-know.html§ 我们知 ...

  7. os.path路径拓展 python3

    os.path-对路径path进行的操作 在调用os.path时, 根据操作系统的不同 程序会选择使用posixpath.py或ntpath.py(由os中的代码实现). 对文件命名时应当使用unic ...

  8. 微信小程序 报错 “对应的服务器无效。控制台输入 showRequestInfo()可以获取更详细信息”

    之前做的项目突然无法读出数据了,一测试发现报这个错误==>对应的服务器无效.控制台输入 showRequestInfo()可以获取更详细信息,后来发现是SSL证书到期了.重新申请了一个证书,免费 ...

  9. linux VMware 提供的网络连接有 5 种详细讲述

    VMware 提供的网络连接有 5 种,分别是"桥接模式"."NAT 模式"."仅主机模式"."自定义"和"L ...

  10. Jquery复习(七)之尺寸

    jQuery 尺寸 方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() outerWidth() outerHei ...