运维篇(一):docker安装gitlab

安装docker和gitlab

ubuntu下安装docker

sudo apt-get install docker.io

docker下拉取gitlab镜像,由于环境较为庞大,一般要求计算机运行内存8g以上,运行效果较为良好

sudo docker pull gitlab/gitlab-ce

运行gitlab,也就是创建gitlab容器

sudo docker run --detach --publish 443:443 --publish 168:168 --publish 222:222 --name gitlab --restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest

参数解析:

  • —detach 后台运行
  • —publish 端口映射 443为https浏览端口,80也就是我们访问的ip地址的端口,默认为80,22是ssh端口
  • —restart always 设置自动重启
  • —volume 由于docker是虚拟环境,一般把数据映射到本地比较好,这样删除容器,影响不是很大(当然一般不建议,很容易出问题)冒号前的为宿主机的本地地址,后面为docker gitlab里的环境
  • 最后的为运行的镜像

后面实际部署过程中,由于出现了系列的问题,再没有备份的情况下删除了容器,再次创建容器时出现了问题,使用了下面的创建命令,解决(但不通用)

sudo docker run --privileged -e GITLAB_SKIP_UNMIGRATED_DATA_CHECK=true --detach --publish 443:443 --publish 80:1000 --publish 222:22 --name gitlab --restart always \
--volume /srv/gitlab/config:/etc/gitlab \
--volume /srv/gitlab/logs:/var/log/gitlab \
--volume /srv/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
  • —privileged 介绍说是给予比较高的权限,去执行数据的加载,以及环境的初始化
  • -e GITLAB_SKIP_UNMIGRATED_DATA_CHECK=true 不去对之前的未迁移的数据进行校验,没有这个的时候,一直加载了不了数据

如果没有配置域名解析的话,项目的url默认为docker的hostname,也就是一串字符,需要修改为ip地址,docker的配置文件一般在(/home/gitlab/config/gitlab.rb)

vim /srv/gitlab/config/gitlab.rb # 如果提示没有权限,就赋予权限 chmod 777 /srv/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80,ip地址为安装gitlab的主机ip 地址,通过 ip addr 可以看到
external_url 'http://192.168.39.153'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.39.153'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
# 需要重启gitlab,重新加载配置文件
sudo docker restart gitlab
sudo docker exec -it gitlab /bin/bash
gitlab-ctl reconfigure
gitlab-ctl restart

# 新增,后面要求使用路由器公网映射到内网的ip,所以clone地址要改为公网的ip加端口号,经过一系列的操作,总是失败,后面折中方案为
vim /srv/gitlab/data/gitlab-rails/etc/gitlab.yml
但是修改后只能直接 gitlab-ctl restart
不可直接gitlab-ctl reconfigure,不然配置的数据会被覆盖,目前没有解决方案

其他命令

sudo docker container ls -a # 列举运行中的容器
sudo docker logs -f gitlab # 实时查看gitlab容器的执行日志
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password # 查看root账号初始密码

安装gitlab-runner

后面采用了jenkins集成,这一步也就跳过了

拉取镜像

sudo docker pull gitlab/gitlab-runner

运行gitlab-runner

sudo docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest

注册(也就是将gitlab和gitlab-runner联系起来)

docker run --rm -v /srv/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register \
  --non-interactive \
  --executor "docker" \
  --docker-image alpine:latest \
  --url "http://192.168.39.153/" \
  --registration-token "VtUo3W95QsTqM5ndb2uy" \
  --description "airm2m-ci/cd" \
  --tag-list "ci/cd" \
  --run-untagged="true" \
  --locked="false" \
  --access-level="not_protected"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值