zoukankan      html  css  js  c++  java
  • 使用docker 安装 gitlab + jenkins + sonarqube

    前期准备

    安装docker、docker-compose

    安装gitlab

    这里使用docker-compose.yml便捷安装,内容如下

    version: '3'
    services:
      gitlab:
        image: 'gitlab/gitlab-ce:13.2.0-ce.0'
        restart: always
        container_name: gitlab-ce              
        hostname: '127.0.0.1'                  # http://127.0.0.1,有域名的可以自行更换
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            external_url 'http://127.0.0.1'    # http://127.0.0.1,有域名的可以自行更换
            # Add any other gitlab.rb configuration here, each on its own line
            gitlab_rails['time_zone'] = 'Asia/Shanghai'
        ports:
          - '80:80'
          - '10443:443'
          - '10022:22'
        volumes:
          - '/etc/gitlab:/etc/gitlab'
          - '/var/log/gitlab:/var/log/gitlab'
          - 'gitlab:/var/opt/gitlab'          # 数据卷,防止数据丢失
    volumes: 
      gitlab:
    

    保存后执行 docker-compose up -d ,启动后访问ip地址即可

    安装jenkins

    这里使用docker-compose.yml便捷安装,内容如下

    version: '3'
    services:
      jenkins:
        image: jenkinsci/blueocean:1.23.2             # 官方推荐 自带蓝海插件(DevOps可视化)& LTS
        restart: always
        container_name: jenkins
        ports:
          - '10080:8080'
          - '50000:50000'
        environment:
          # 内存限制最大512m,官方文档要求:最低256 小团队1g 
          - JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=256m -Duser.timezone=Asia/Shanghai 
        volumes:
          - jenkins:/var/jenkins_home                 # 使用数据卷
          - /var/run/docker.sock:/var/run/docker.sock
    volumes:
      jenkins:                                        # 自动分配地址 docker volume inspect jenkins 查看
    

    保存后执行 docker-compose up -d ,启动后访问ip:8080
    遇到jenkins需要初始admin密码时,按以下方式查询

    # 查看jenkins的容器id,应在第一列,我的为e93ac7465463
    docker ls
    # 查看日志
    docker logs e93ac7465463
    # 查看初始密码 
    

    配置jenkins国内插件镜像

    1. 进入docker容器内,执行命令行
    bash -c "$(curl -fsSL https://gitee.com/hummerstudio/jenkins-update-center-changer/raw/master/jenkins-update-center-changer.sh)"
    
    1. 重启jenkins容器即可

    安装sonarqube

    sonar占用内存最低2g,生产环境不推荐使用镜像自带的数据库。低配机器谨慎安装
    这里使用docker-compose.yml便捷安装,内容如下

    version: '3'
    services:
      sonarqube:
        image: 'sonarqube:8.5-community'
        restart: always
        container_name: sonarqube
        deploy:
          resources:
            limits:
              cpus: '1'  # 初次安装初始化占用较大cpu,稳定后可加强限制为0.5
              memory: 2048M 
        healthcheck:
            timeout: 3600s # SonarQube 7.8开始,SonarQube会优雅地停止,等待所有正在进行的任务完成,避免docker杀死
        ports:
          - '9000:9000'
        volumes:
          - '/sonarqube/conf:/opt/sonarqube/conf'
          - '/sonarqube/extensions:/opt/sonarqube/extensions'
          - '/sonarqube/logs:/opt/sonarqube/logs'
          - '/sonarqube/data:/opt/sonarqube/data'
    

    linux安装sonarqube,执行一些内容调优才能正常启动内置的ES

    sysctl -w vm.max_map_count=262144
    sysctl -w fs.file-max=65536
    ulimit -n 65536
    ulimit -u 4096
    

    win安装sonarqube,没有sysctl命令

    # 如果使用WSL 则先执行如下语句,再参照linux 执行
    wsl -d docker-desktop
    
    # 如果使用ssh登录docker-machine,再参照linux 执行
    docker-machine ssh
    
    
  • 相关阅读:
    【python】【pycharm】+python工程打包成exe+在windows下自动定时运行
    技术备忘
    【Linux】—常用命令(测试人员)
    【python】【pycharm】+pip解析
    【python】【pycharm】+封装&导入
    C# 之程序退出的方法
    C# 之值类型和引用类型
    C# 之数组
    找靓机AppUI自动化测试延伸
    初、中、高级程序员的区别有哪些?
  • 原文地址:https://www.cnblogs.com/hyry/p/13395230.html
Copyright © 2011-2022 走看看