docker安装gitlab实现提交代码出发接口测试

安装Gitlab工作

1.1、获取gitlab镜像包

docker pull gitlab/gitlab-ce      # 这里的Community Edition (CE)表示社区标本,

1.2、 在本机准备gitlab工作目录

mkdir -p /data/gitlab/config  # 创建config目录
mkdir -p /data/gitlab/logs    # 创建logs目录
mkdir -p /data/gitlab/data    # 创建data目录

1.3、镜像并启动

由于服务器的80端口可能被占用,所以这里我们改成了其他端口来启动

docker run --detach     --hostname :IP     --publish 7001:443 --publish 7002:80 --publish 7003: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 --volume /etc/localtime:/etc/localtime gitlab/gitlab-ce

docker run -d -p 2443:443 -p 5678:80 -p 2222:22 --name gitlab --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v /src/gitlab/data:/var/opt/gitlab docker.io/gitlab/gitlab-ce
参数名称 参数说明
detach 指定容器运行于前台还是后台
hostname 指定主机地址,如果有域名可以指向域名
publish 指定容器暴露的端口,左边的端口代表宿主机的端口,右边的是代表容器的端口
name 给容器起一个名字
restart always 总是重启
volume 数据卷,在docker中是最重要的一个知识点.

脚本的参数说明,详情请看官方文档.

1.4、修改配置文件

修改gitlab.yml文件

vim /src/gitlab/data/gitlab-rails/etc/gitlab.yml
找到如下配置,修改host为你服务的IP或者域名(不能加http://),修改完毕后保存退出

修改gitlab.rb文件

external_url 'http://192.168.16.200:7002'
gitlab_rails['gitlab_ssh_host'] = '192.168.16.200'
gitlab_rails['gitlab_shell_ssh_port'] = 7003

1.5、重启gitlab

停止并移除之前启动的gitlab
停止
docker stop gitlab
移除
docker rm gitlab
重新启动gitlab

1.6、4.8 再查看本机端口状态

netstat -tnl # 命令

1.7、开通防火墙端口

[root@h200 ~]# firewall-cmd --zone=public --permanent --add-port=7002/tcp
success
[root@h200 ~]# firewall-cmd --zone=public --permanent --add-port=1001/tcp
success
[root@h200 ~]# firewall-cmd --zone=public --permanent --add-port=1003/tcp
success
[root@h200 ~]# 
[root@h200 ~]# firewall-cmd --reload
success
[root@h200 ~]#

容器内部命令

gitlab-ctl reconfigure  // 重新应用gitlab的配置
gitlab-ctl restart    // 重启gitlab服务
gitlab-ctl status      // 查看gitlab运行状态
gitlab-ctl stop      // 停止gitlab服务
gitlab-ctl tail     // 查看gitlab运行日志

安装Gitlab-Runner

可以在某个项目里settings --> CICD --> Runner进行配置,也可以在GitLab主设置页安装共享Runner,安装方法都一致

1、拉取Runner镜像并启动

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  

2、进入Runner容器内

docker exec -it gitlab-runner bash

3、运行以下命令

gitlab-runner register

输入Gitlab实例的地址

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com )
http://xxx

输入token

Please enter the gitlab-ci token for this runner
xxx

输入Runner的描述

Please enter the gitlab-ci description for this runner
[hostname] my-runner

输入与Runner关联的标签

Please enter the gitlab-ci tags for this runner (comma separated):
my-tag,another-tag

输入Ruuner的执行者

Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
docker

如果上面执行者为docker,需要你在.gitlab-ci.yml中指定docker版本

Please enter the Docker image (eg. ruby:2.1):
alpine:latest

通过以上命令后,就可以在gitlab中查看到了这个刚刚创建的runner

4、修改Runner配置文件

vim /srv/gitlab-runner/config/config.toml

找到volumes配置,修改为如下,分别是挂载了宿主机的docker和配置Maven的缓存,提高效率

volumes = ["/cache","/var/run/docker.sock:/var/run/docker.sock","/data/.m2/:/.m2/"]

在volumes配置下方增加一行配置,防止Runner重复拉取镜像

pull_policy = "if-not-present"

重启Runner即可

docker restart gitlab-runner
上一篇:gitlab 适配性问题


下一篇:git、github、gitee、gitlab的区别