前期准備
安裝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國內插件鏡像
- 進入docker容器內,執行命令行
bash -c "$(curl -fsSL https://gitee.com/hummerstudio/jenkins-update-center-changer/raw/master/jenkins-update-center-changer.sh)"
- 重啟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