代码检测docker-sonarqube
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的更多相关文章
- Docker搭建代码检测平台SonarQube并检测maven项目
1 前言 良好的代码习惯是一个优秀程序员应该具备的品质,但靠人的习惯与记忆来保证代码质量,始终不是一件靠谱的事.在计算机行业应该深知,只要是人为的,都会有操作风险.本文讲解如何通过Docker搭建代码 ...
- jenkins sonarqube 代码检测部署
install pgsql and sonarqube docker run --name postgresqldb -e POSTGRES_USER=sonar -e POSTGRES_PASSWO ...
- SonarQube 之 gitlab-plugin 配合 gitlab-ci 完成每次 commit 代码检测
转载自:https://cloud.tencent.com/developer/article/1010601 1.背景介绍 我们知道使用 SonarQube 可以在日常开发中检测代码质量,除了使用 ...
- 搭建基于SornaQube的自动化安全代码检测平台
一.背景和目的 近年来,随着新业务.新技术的快速发展,应用软件安全缺陷层出不穷.虽然一般情况下,开发者基本都会有单元测试.每日构建.功能测试等环节来保证应用的可用性.但在安全缺陷方面,缺乏安全意识.技 ...
- 代码质量管理工具——SonarQube
写在前面 SonarQube(简称Sonar)是管理代码质量的开放平台,它可以快速地对代码质量进行分析,并给出合理的解决方案,提高管理效率,保证代码质量. SonarQube的流行,在于以下几点: 开 ...
- 基于git diff进行的eslint代码检测
缘起 在项目中, 通常都会使用代码检测工具来规范团队的代码风格, 比如eslint.随着代码的不断增加, eslint进行代码检测的时间也越来越久.每次检测的时候, 需要检测的文件和实际检测的文件极度 ...
- Unity 代码检测单击,双击,拖放
今天小伙伴问我如何自己写一段代码检测 单击 双击 和 拖放.于是就写了这段代码O(∩_∩)O~ 代码如下: using UnityEngine; using System.Collections; p ...
- Jenkins+PMD构建自动化静态代码检测
前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测 缺陷预防包括编写更好的设计规范.实施代码审核制度.运行代码静态分析工具.运行单元测试等 PMD是一种开 ...
- 2.2、Android Studio通过注解提升代码检测
使用像Lint这样的代码检测工具可以帮助你发现问题和提升代码,但是代码检测在有些地方很难应用.例如,Android的资源ID,使用一个int类型来表示字符.图像.颜色或者其他资源类型所以代码检测工具不 ...
- iOS开发之一句代码检测APP版本的更新
提示更新效果图如下,当然也是可以自定义类似与AlertView相似的自定义view,如京东.网易云音乐都是自定义了这种提示框的view.以下只展示,从App Store获取到app信息.并解析app信 ...
随机推荐
- java之 Mybatis框架
1.三层框架: 表现层: 是用于展示数据 业务层: 是处理业务需求 持久层: 是和数据库交互 注:MyBatis在持久层 2.JDBC操作数据库 public static void main(Str ...
- Linux vim文件编辑器使用
学习目标: 通过本实验熟练vim的使用. 步骤: 1.将用户家目录的ls结果重定向到vimfile.txt 2.查看rh124第403页实验要求,并完成 参考命令: 复制文件前,需要先建立文件,教材上 ...
- 在windows上远程访问服务器jupyter notebook
需求: 之前在服务器上只能运行完整的python文件,而不能实现jupyter notebook的交互模式,通过在本地浏览器上远程访问服务器上的jupyter notebook,这样不就能有一个很棒的 ...
- websocket服务器推送 (node+express+vue+socket)
简介: 此项目需要懂一点node.express 功能: 1.前端用户登录,查看服务端推送的消息,用户只能在一个地方登录,也就是单点登录 2.服务端首先登录,上传需要推送的信息文本,后台读取文本后,存 ...
- spring boot-6.profile 多环境支持
在正式项目中一般都会区分多个环境,一般至少分为开发环境,测试生产环境,生产环境,实际可能会有更加精细的区分,针对不同的环境,项目的配置可能需要切换,spring boot 提供了很方便的环境切换方式. ...
- Java Script 基本知识点
JavaScript是一种基于对象和事件驱动的脚本语言,它提供了一些专有的类.对象及函数 1.基本数据类型 JavaScript提供了4种基本的数据类型用来 ...
- 如何解决 u盘 错误0x80071AC3:请运行chkdsk并重试
windows: 一.win+R 打开 cmd 二.确认好U盘在电脑上显示的盘符,输入代码:chkdsk G:/f (G为U盘所在盘符) Bonus:U盘一般会有文件系统,主要有NTFS.FAT16. ...
- npm学习(十一)之package-lock.json
package-lock.json 描述 对于npm修改node_modules树或package.json的任何操作,都会自动生成package.json,它描述生成的确切树,以便后续安装能够生成相 ...
- redis 学习导航
一.redis学习流程 二.redis官方网址: 官方网址:https://redis.io/ 三.redis简介 1. redis是一个基于内存,单线程的key-value的非关系型数据库,整个数据 ...
- 2019-2020-1 20199319《Linux内核原理与分析》第二周作业
计算机是如何工作的 反汇编一个简单的C程序 1.在实验环境下,创建main.c,并进入该文件进行代码的编写 在VIM文本编辑器中编写完代码后按"Shift"+":&quo ...