💠

💠 2024-09-03 14:05:18


持续集成

参考: 持续集成 | 持续集成服务 Travis CI 教程
廖雪峰 使用Travis进行持续集成
目前个人理解: 使用jenkins 结合gradle docker ,一键上传代码之后自动构建得到镜像

利用Travis CI更新github page

  • 使用bitbucket配置私有仓库,在hub上配置docker文件的目录,进行构建,这样就会得到一个可用的镜像

Jenkins

详细

GoCD

Github:GoCD

参考: GoCD的正确打开方式

参考: GoCD概念篇


Drone

官网

go语言实现,一个原生支持 docker 的 CI

参考: Drone 一个原生支持 docker 的 CI
参考: Drone CI + GitLab持续集成的基础设施搭建 | 参考: Drone CI的持续集成的基本使用


flow.ci

官网 | 文档


三方平台

Gradle + Travis CI 学习笔记


代码质量管理

Bug跟踪

sonarqube

官网 | Docker Hub

快速使用 (H2 内存数据库存储)

  1. docker run -d --name sonarqube -p 9000:9000 sonarqube:8-community

使用 PG 数据库存储

  • docker run –name db_sonar -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -d postgres
  • docker run –name sonarqube_test –link db_sonar -e SONARQUBE_JDBC_URL=jdbc:postgresql://db_sonar:5432/sonar -e SONARQUBE_JDBC_USERNAME=sonar -e SONARQUBE_JDBC_PASSWORD=sonar -p 9000:9000 -d sonarqube:8-community

调整虚拟内存

  • sysctl -w vm.max_map_count=524288

Sonarqube badge not working on github README

  • 公开项目并且设置:Force user authentication" in Administration -> Configuration -> General settings -> Security, has to be set to false
  • 私有项目支持Badges sonarqube-badges

项目端

  1. sonarscanner
    1. Maven构建的过程会输出当前分析项目的结果URL

第一种 sonar-scanner 命令工具 方式

  1. 配置 基础配置 /etc/sonar-scanner/sonar-scanner.properties
1
2
3
4
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
  1. 配置环境变量
1
2
export SONAR_SCANNER_HOME="/opt/sonar-scanner"
export PATH="${SONAR_SCANNER_HOME}/bin:${PATH}" 
  1. 配置项目根路径 sonar-project.properties
1
2
3
4
sonar.projectKey=com.github.kuangcp.gobase
sonar.projectName=GoBase
sonar.sources=.
sonar.java.binaries=.

第二种 Maven插件方式


参考: 有赞 GO 项目单测、集成、增量覆盖率统计与分析
sonar Go


测试平台

metersphere.io