DevOps

敏捷开发打通了产品经理和开发之间沟通的壁垒

DevOps打通了开发人员与运维人员沟通的壁垒

这里只说DevOps。敏捷开发其实很难说,科普的东西自行百度吧,敏捷开发真正的干货其实还是沟通与协调。妄图指望引入一个敏捷开发流程就能搞定一切,乘早死心吧。

要安装的东西还真不少

docker k8s,有兴趣的话,可以把istio也给安装了

gitlab、Jenkins、Sonar

 

一、安装gitlab

检测宿主机端口占用情况,因为后续容器内程序需要和外网联通,就必须将容器进程端口与宿主机端口映射,容器本身不能联通外网,切记哦。

1、查找GitLab镜像

docker search gitlab

 

 

 

 2、拉取gitlab docker镜像

docker pull gitlab/gitlab-ce:latest

3、运行GitLab并运行容器

docker run \
 -itd  \
 -p 9980:80 \
 -p 9922:22 \
 -v /usr/local/gitlab-test/etc:/etc/gitlab  \
 -v /usr/local/gitlab-test/log:/var/log/gitlab \
 -v /usr/local/gitlab-test/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab-test \
 gitlab/gitlab-ce

命令解释:
-i  以交互模式运行容器,通常与 -t 同时使用命令解释:

-t  为容器重新分配一个伪输入终端,通常与 -i 同时使用

-d  后台运行容器,并返回容器ID

-p 9980:80  将容器内80端口映射至宿主机9980端口,这是访问gitlab的端口

-p 9922:22  将容器内22端口映射至宿主机9922端口,这是访问ssh的端口

-v /usr/local/gitlab-test/etc:/etc/gitlab  将容器/etc/gitlab目录挂载到宿主机/usr/local/gitlab-test/etc目录下,若宿主机内此目录不存在将会自动创建,其他两个挂载同这个一样

--restart always  容器自启动

--privileged=true  让容器获取宿主机root权限

--name gitlab-test  设置容器名称为gitlab-test

gitlab/gitlab-ce  镜像的名称,这里也可以写镜像ID

备注:检查端口占用情况哦netstat -lnp|grep 端口

执行命令,构建成功了.

 

  

# 重点:接下来的配置请在容器内进行修改,不要在挂载到宿主机的文件上进行修改。否则可能出现配置更新不到容器内,或者是不能即时更新到容器内,导致gitlab启动成功,但是无法访问

4、进入容器内

docker exec -it gitlab-test /bin/bash

 5、修改gitlab.rb 

 # 打开文件

vi /etc/gitlab/gitlab.rb

 6、修改gitlab.yml

 这一步原本不是必须的,因为gitlab.rb内配置会覆盖这个,为了防止没有成功覆盖所以我在这里进行配置,当然你也可以选择不修改gitlab.rb直接修改这里。事实也是如此,所以我不需要修改任何信息了。

 

 

 

 

 7、让修改后的配置生效

  gitlab-ctl reconfigure

 

  8、重启gitlab 

  gitlab-ctl restart

 

 9、退出容器

  exit

 

 10、在游览器输入如下地址,访问gitlab

  http://192.168.149.131:9980

参考文章

Jenkins+SonarQube+Gitlab搭建自动化持续代码扫描质量平台

gitlab、Jenkins、Sonar集成

自动代码质量分析(GitLab+JenKins+SonarQube)

Jenkins+SonarQube+Gitlab集成钉钉群消息自动通知(Python版)

docker部署gitlab

GitLab安装、使用教程(Docker版)

GitLab的安装及使用教程

 

posted @ 2021-01-13 17:54  杨兮臣  阅读(258)  评论(0编辑  收藏  举报