前期准备
安装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