828华为云征文|华为云Flexus X实例docker部署最新gitlab社区版,搭建自己的私人代码仓库

828华为云征文|华为云Flexus X实例docker部署最新gitlab社区版,搭建自己的私人代码仓库

  • 华为云最近正在举办828 B2B企业节,Flexus X实例的促销力度非常大,特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务的需求,一定不要错过这个机会。赶紧去看看吧!

什么是华为云Flexus X实例

  • 华为云Flexus X实例云服务是新一代开箱即用、体验跃级、面向中小企业和开发者打造的高品价比云服务产品。
  • Flexus云服务器X实例是新一代面向中小企业和开发者打造的柔性算力云服务器,可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等中低负载场景。

开始接触华为云Flexus云服务器X实例

  • 获取华为云Flexus云服务器X实例后第一步就是先去华为云上重置服务器密码

  • 重置完毕后用ssh工具登录华为云服务器,这里我用的是finalshell,也可以用其他工具登陆比如xshell或者Putty都可以

  • 登录上去查看硬盘大小,可以看到是100g硬盘,硬盘总大小是正常的

    root@flexusx-ebe8:~# df -h
    Filesystem Size Used Avail Use% Mounted on
    tmpfs 1.2G 1.1M 1.2G 1% /run
    /dev/vda1 99G 4.2G 90G 5% /
    tmpfs 5.7G 0 5.7G 0% /dev/shm
    tmpfs 5.0M 0 5.0M 0% /run/lock
    tmpfs 1.2G 4.0K 1.2G 1% /run/user/0

  • 然后输入 ufw status可以看到默认防火墙是关闭的,因此我们就不需要额外再去配置端口开放相关的配置,只要在华为云安全组配置端口开放就可以了

    root@flexusx-ebe8:~# ufw status
    Status: inactive

docker环境的安装

  • 如图所示,把离线包传到服务器上,进行安装

    dpkg -i *.deb

  • 查看安装的docker版本

    root@flexusx-ebe8:/home/docker# docker -v
    Docker version 27.1.2, build d01f264

  • 至此docker容器环境安装完毕


什么是gitlab

  • GitLab 是一个基于 Git 的 DevOps 平台,提供版本控制、持续集成(CI)、持续交付/部署(CD)等功能。它用于软件开发项目的管理,支持代码托管、代码审查、项目管理、自动化构建和测试等功能。GitLab 与 GitHub 类似,也是一个代码仓库托管平台,但其功能更全面,尤其在 CI/CD 方面更加强大。
  • 总体来说,GitLab 是一个功能齐全的 DevOps 平台,帮助开发团队高效协作、自动化开发流程、提高代码质量和安全性。

开始安装gitlab

  • 先去查看gitlab的镜像

  • 选择最新稳定版本

  • 拉取gitlab镜像docker pull gitlab/gitlab-ce:latest

    root@flexusx-ebe8:~# docker pull gitlab/gitlab-ce:latest
    latest: Pulling from gitlab/gitlab-ce
    857cc8cb19c0: Pull complete
    28812802a434: Pull complete
    54e2e989e54c: Pull complete
    abb7892b26dc: Pull complete
    e9d667f5a8c1: Pull complete
    a8891519352d: Pull complete
    8b624a00a604: Pull complete
    0cf3370d74b6: Pull complete
    3253094bd895: Pull complete
    Digest: sha256:6f2ab9c42cef6b8058ef45042ce33a4505a0a9ac1a8d9ed85016ceca743dd01d
    Status: Downloaded newer image for gitlab/gitlab-ce:latest
    docker.io/gitlab/gitlab-ce:latest

  • 开始创建映射目录 mkdir -p /home/docker/gitlab/configmkdir -p /home/docker/gitlab/logsmkdir -p /home/docker/gitlab/data

    docker run -d -p 30080:80 -p 30081:443 -p 30082:22 --restart always --name gitlab -v /home/docker/gitlab/config:/etc/gitlab -v /home/docker/gitlab/logs:/var/log/gitlab -v /home/docker/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest

  • 查看gitlab运行情况

    root@flexusx-ebe8:/home/docker/gitlab# docker run -d -p 30080:80 -p 30081:443 -p 30082:22 --restart always --name gitlab -v /home/docker/gitlab/config:/etc/gitlab -v /home/docker/gitlab/logs:/var/log/gitlab -v /home/docker/gitlab/data:/var/opt/gitlab --privileged=true gitlab/gitlab-ce:latest
    adb9566190afafb28c5d62bffaa940a7aa72dc0bdea8fd6a5e1cc2a24551406f
    root@flexusx-ebe8:/home/docker/gitlab# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    adb9566190af gitlab/gitlab-ce:latest "/assets/wrapper" 2 seconds ago Up 2 seconds (health: starting) 0.0.0.0:30082->22/tcp, :::30082->22/tcp, 0.0.0.0:30080->80/tcp, :::30080->80/tcp, 0.0.0.0:30081->443/tcp, :::30081->443/tcp gitlab

  • 然后去修改gitlab的配置文件,添加三个配置,vi /home/docker/gitlab/config/gitlab.rb

    external_url 'http://弹性公网ip'

    gitlab_rails['gitlab_ssh_host'] = '弹性公网ip'

    gitlab_rails['gitlab_shell_ssh_port'] =30082

    gitlab_rails['time_zone'] = 'Asia/Shanghai'

  • 然后进入容器,重启配置 docker exec -it gitlab /bin/bash,然后执行 gitlab-ctl reconfigure,当出现 gitlab Reconfigured!,代表配置完毕,然后退出容器,再重启容器

    docker restart gitlab

  • 此时docker启动最新版gitlab已经完成,但是还需要去安全组开放端口

配置Flexus云服务器X实例安全组

  • 经过上面部署srs服务,这时候服务是已经部署完毕了,但是我们还没法通过外网进行访问,还需要对Flexus云服务器X安全组的配置进行修改

  • 进入安全组的配置页面

  • 新建安全组

  • 这里我们开放30080,30081,30082端口

  • 然后加入新建的安全组

  • 这样我们的实例的端口也就开放成功了

配置jenkins使用

  • 端口开放后,访问gitlab的页面 输入 弹性公网ip:30080

  • 这里的默认密码在 /home/docker/gitlab/config/initial_root_password

  • 输入账号密码登录

  • 把语言配置为中文

  • 重新修改密码

  • 至此华为云Flexus X实例docker部署最新gitlab社区版完成

欢迎大家一起加入华为云!

相关推荐
好像是个likun7 分钟前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器
玖疯子2 小时前
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
docker
暴富的Tdy2 小时前
【快速上手Docker 简单配置方法】
docker·容器·eureka
Karoku0663 小时前
【k8s集群应用】kubeadm1.20高可用部署(3master)
运维·docker·云原生·容器·kubernetes
saynaihe5 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka
G_whang6 小时前
centos7下docker 容器实现redis主从同步
redis·docker·容器
认真学习的小雅兰.6 小时前
如何在Ubuntu上利用Docker和Cpolar实现Excalidraw公网访问高效绘图——“cpolar内网穿透”
linux·ubuntu·docker
月如琉璃7 小时前
0.gitlab ubuntu20.04 部署问题解决
gitlab
the丶only7 小时前
单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
linux·运维·服务器·docker·gitlab
书生-w7 小时前
Docker部署GitLab服务器
服务器·docker·gitlab