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

本文主要是介绍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环境的安装

  • 然后进行docker容器的安装,安装最新版本的docker
  • 这里因为docker现在已经无法直接通过网络安装,所以我们通过离线安装的方式安装docker环境
  • 从官网下载离线包
https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64/

在这里插入图片描述

  • 如图所示,把离线包传到服务器上,进行安装
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社区版完成

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

在这里插入图片描述

这篇关于828华为云征文|华为云Flexus X实例docker部署最新gitlab社区版,搭建自己的私人代码仓库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144007

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

Vue实现路由守卫的示例代码

《Vue实现路由守卫的示例代码》Vue路由守卫是控制页面导航的钩子函数,主要用于鉴权、数据预加载等场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一、概念二、类型三、实战一、概念路由守卫(Navigation Guards)本质上就是 在路