跳到主要内容

docker安装gitlab

GitLab

官网

启动容器

mkdir -p /data/gitlab/config
mkdir -p /data/gitlab/logs
mkdir -p /data/gitlab/data

docker run --detach \
--hostname gitlab.deanit.cn \
--publish 8443:443 --publish 7902:7902 --publish 8222:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab \
--volume /data/gitlab/data:/var/opt/gitlab \
--privileged=true \
gitlab/gitlab-ce:13.7.3-ce.0

修改配置

修改拉去代码时候的端口和地址

sudo vi /data/gitlab/config/gitlab.rb
# 配置http拉去代码
external_url 'http://192.168.61.202:7902'
nginx['listen_port'] = 7902
# 配置ssh拉去代码
gitlab_rails['gitlab_ssh_host'] = '192.168.61.202'
gitlab_rails['gitlab_shell_ssh_port'] = 8222 # 此端口是run时22端口映射的222端口,也就是上面的-p 222:22 ,不然会一直要输入密码还不正确
sudo vi /data/gitlab/data/gitlab-rails/etc/gitlab.yml

重启

docker restart gitlab

参数说明

--hostname gitlab.deanit.cn:  设置主机名或域名
--publish 8443:443:将http:443映射到外部端口8443
--publish 8880:80:将web:80映射到外部端口8880
--publish 8222:22:将ssh:22映射到外部端口8222
--name gitlab: 运行容器名
--restart always: 自动重启
--volume /data/gitlab/config:/etc/gitlab: 挂载目录
--volume /data/gitlab/logs:/var/log/gitlab: 挂载目录
--volume /data/gitlab/data:/var/opt/gitlab: 挂载目录
--privileged=true 使得容器内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限

访问

http://192.168.61.202:7902

默认用户是root,密码要重新配置。启动容器的时间要等10分钟左右,有点慢。

配置gitlabrunner

下载

yum install -y git
wget http://mirrors.tuna.tsinghua.edu.cn/gitlab-runner/yum/el7/gitlab-runner-12.9.0-1.x86_64.rpm
rpm -ivh gitlab-runner-12.9.0-1.x86_64.rpm --nodeps --force

安装好Runner之后,需要向Gitlab进行注册,注册Runner需要GitLab-CI的url和token。可根据需求注册选择所需类型Runner。这里介绍spercific runners为例

安装run

注册

sudo gitlab-runner register

安装run

runner 左边会有一个小绿点,表示该runner是能正常执行的

安装run

提高runner的权限变成root用户权限

先在界面 Remove Runner

 ps -ef | grep runner
gitlab-runner uninstall
gitlab-runner install --working-directory /root --user root
gitlab-runner restart
#查看runner的运行状态
gitlab-runner status

重新启动runner的时候要重新注册下

sudo gitlab-runner register