Python 二 使用docker搭建Gitlab

一、准备工作
安装docker ,搭建一个docker容器,在docker容器上启用gitlab中文版镜像192.168.4.254。
gitlab中文版镜像下载地址:https://gitlab.com/xhang/gitlab.git
参考文章:https://hub.docker.com/r/beginor/gitlab-ce/
参考资料 :https://www.cnblogs.com/zuxing/articles/9329152.html
以下为docker里的git的安装包:
container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm
container-storage-setup-0.8.0-3.git1d27ecf.el7.noarch.rpm
docker-1.13.1-53.git774336d.el7.centos.x86_64.rpm
docker-client-1.13.1-53.git774336d.el7.centos.x86_64.rpm
docker-common-1.13.1-53.git774336d.el7.centos.x86_64.rpm
oci-register-machine-0-6.git2b44233.el7.x86_64.rpm
oci-systemd-hook-0.1.15-2.gitc04483d.el7.x86_64.rpm
oci-umount-2.3.3-3.gite3c9055.el7.x86_64.rpm
skopeo-containers-0.1.28-1.git0270e56.el7.x86_64.rpm



1、获取镜像

  1. 方法一 : #docker pull beginor/gitlab-ce:11.0.1-ce.0
  2. 方法二 : 从别的机器上导过来 ,]# docker load < docker/images/gitlab-ce.tar

2、运行
1) 通常会将 GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外,便于日后升级, 因此先准备这三个目录。
#mkdir -p /root/docker/gitlab/etc
#mkdir -p /root/docker/gitlab/log
#mkdir -p /root/docker/gitlab/data
或者:
#mkdir -p /root/docker/gitlab
#cd /root/docker/gitlab
#mkdir {config ,logs,data}

2) 运行 新容器,将容器的443、80、22端口发布出去。当容器意外停止时,将其重启restart.再将容器的配置目录、日志、数据映射到本机/root/docker/gitlab
[ docker run -h gitlab --name=gitlab -d --publish 1443:443 --publish 18080:80 --publish 2222:22 --restart always --volume /root/docker/gitlab/config:/etc/gitlab --volume /root/docker/gitlab/logs:/var/log/gitlab --volume /root/docker/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest ]

修改gitlab容器的配置文件:
#docker exec -it gitlab vi /etc/gitlab/gitlab.rb
#ifconfig #查看一下,docker 对应的ip
修改为服务器的ip地址:13 external_url ‘http://172.17.0.1:18080’ ##这里修改为docker 对应的ip

3) 登录Gitlab,IP为宿主机IP地址 http://172.17.0.1:18080


如果访问上面的地址页面显示502 Whoops, GitLab is taking too much time to respond。
原因:1、unicorn原8080默认端口被容器中别的进程已经占用,必须调整为没用过的;2、gitlab的timeout设置过小,默认为60。
需要修改/root/docker/gitlab/config/gitlab.rb文件,重启docker容器即可。
这里注意一下,本人在虚拟机里用docker 搭建gitlab,不得不说,超级卡,而且出现了很多了直接在虚拟机搭建gitlab没有出现的问题,只能借用一下别的方法。
1、使用以下命令编辑gitlab配置文件: sudo docker exec -it gitlab vim /etc/gitlab/gitlab.rb
修改一下配置项:unicorn[‘port’] = 8090 ##原本端口号是8080
gitlab_workhorse[‘auth_backend’] = “http://localhost:8090” ##原本端口号也是8080,这两项的端口号必须一致unicorn[‘port’] 和auth_backend端口不能使用9090,因为9090是普罗米修斯监控的默认端口。
2、调整timout时长,从60秒改为90秒:
gitlab_rails[‘webhook_timeout’] = 90
gitlab_rails[‘git_timeout’]=90
3、重启容器:
docker restart gitlab
docker logs gitlab
或者进入容器,查看gitlab启动状态和动态日志:
sudo docker exec -it gitlab /bin/bash
cd /usr/bin
gitlab-ctl status
gitlab-ctl tail
4、 也可以进入容器后,根据容器创建时映射的–volume目录,在里面修改配置,然后重启gitlab:
gitlab-ctl reconfigure
gitlab-ctl retart
gitlab-ctl status
gitlab-ctl tail


4)配置gitlab
(1)访问http://192.168.122.4:18080(宿主机ip),第一次访问需要设置密码,密码必须8位以上。如1234.com
(2)登陆时,用户名是root,密码是1234.com
(3)创建群组,群组路径和名字填写devops,类型为公开
(4)创建群组后,右下角有new project 创建项目,点击以创建项目名称 core_py
(5)拉取项目测试


git

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是从0到1使用 Docker + Jenkins + Git + Pytest + Allure 搭建项目自动化框架的步骤: 1. 安装 DockerDocker Compose 首先,需要在服务器上安装 DockerDocker Compose。Docker是一个虚拟化平台,可以通过容器化技术快速部署应用程序。Docker Compose是一个工具,可以定义和运行多个 Docker 容器的应用。 2. 创建 Git 仓库 创建一个 Git 仓库来管理应用程序的源代码。可以使用 GitLabGitHub 或 Bitbucket 等 Git 托管服务。 3. 编写 Pytest 测试 编写 Pytest 测试来测试应用程序的功能。Pytest 是一个 Python 测试框架,可以用于测试 Python 应用程序的各个方面,包括单元测试、集成测试和端到端测试。 4. 安装 Jenkins 安装 Jenkins 作为持续集成和持续交付的工具。Jenkins 是一个开源 CI/CD 工具,可以自动化构建、测试和部署应用程序。 5. 配置 Jenkins 配置 Jenkins 以连接 Git 仓库和 Docker 守护进程。在 Jenkins 中,需要设置 Git 仓库的地址和凭据,以便 Jenkins 可以拉取代码并构建 Docker 镜像。 6. 构建 Docker 镜像 使用 Dockerfile 构建 Docker 镜像。Dockerfile 是一个包含构建 Docker 镜像所需指令的文本文件。 7. 运行 Pytest 测试 使用 Docker Compose 运行 Pytest 测试。Docker Compose 可以定义和运行多个 Docker 容器的应用。在这里,需要定义一个包含测试和应用程序容器的 Docker Compose 文件。 8. 生成 Allure 报告 使用 Allure 生成测试报告。Allure 是一个测试报告框架,可以生成漂亮且易于阅读的测试报告。 以上就是使用 Docker + Jenkins + Git + Pytest + Allure 搭建项目自动化框架的基本步骤。当然,具体实现还需要根据你的应用程序进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值