使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM