828华为云征文|Flexus X实例GitLab部署&构建流水线-私人一体化代码仓库~

目录

前言Gitlab

环境准备

GitLab部署

拉取GitLab镜像

创建映射目录

运行GitLab容器

修改gitlab.rb配置

开放端口

切换语言

创建项目

添加ssh密钥

克隆代码

CICD

什么是CICD

Gitlab中使用CICD

什么是Runner

安装GitLab Runner

获取注册令牌

runner注册

交互式运行

非交互式运行

编辑流水线

修改代码并提交


前言Gitlab

🚀 828 B2B企业节盛大启幕,GitLab赋能自动化流程,引领创新部署新时代!在这个瞬息万变的数字时代,我们激动地推出整合GitLab、Docker的顶尖解决方案,为您的软件开发项目注入前所未有的效率与灵活性。专为追求卓越的一体化开发流程设计,这一方案将彻底改变您从代码提交到生产上线的全过程。

🐳 GitLab是一个基于Git的开源分布式版本控制系统,也是一个用于仓库管理系统的Web服务。它由Dmitriy Zaporozhets和Valery Sizov于2011年创建,旨在构建企业自托管Git平台,减少对外部依赖。GitLab提供了丰富的功能,包括代码托管、版本控制、代码审查、项目管理、持续集成/持续部署(CI/CD)等

🐤 本实践指南将引领您深入体验GitLab CI/CD与GitLab Runner的完美融合,以构建一套高效、自动化的.NET控制台应用程序部署流程。您将学习到如何通过GitLab CI/CD功能配置Runner来监听GitLab的Webhooks,从而实现在代码提交后自动触发构建和部署流程;如何利用Docker容器技术来快速打包和运行您的.NET控制台应用;以及如何通过编写.gitlab-ci.yml脚本来管理整个自动化部署流程。

环境准备

本实验环境是Flexus X实例自定义模式,使用了4vCPUs | 12GiB,镜像是最高版本的ubuntu,我已经提前在服务器中安装了docker环境,在之前的实验中使用xshell连接了服务器,随后在服务器中安装了dokcer。可自行操作或参考下面实验(完成购买服务器以及安装docker步骤)!

828华为云征文|Flexus X实例C#/.Net Core 结合(git代码管理、docker自定义镜像)快速发布部署-让你的项目飞起来~-CSDN博客

GitLab部署

拉取GitLab镜像

GitLab提供了免费的社区版(CE),适合中小型公司和个人开发者使用。同时,它也提供了收费的企业版(EE),为企业用户提供更多的高级功能和支持。下面实验中我们使用社区版。

首先,从Docker Hub上拉取GitLab的镜像。使用以下命令拉取最新版本的GitLab CE(社区版)镜像:

docker pull gitlab/gitlab-ce

如果你需要特定版本的GitLab,可以将latest替换为具体的版本号,例如gitlab/gitlab-ce:14.10.0

创建映射目录

GitLab在容器内部会生成配置文件、日志文件和数据文件。为了方便管理和持久化这些文件,你需要在宿主机上创建相应的目录,并将它们映射到容器内部。通常,你会创建以下三个目录:

  • /srv/gitlab/config:用于存放GitLab的配置文件。
  • /srv/gitlab/logs:用于存放GitLab的日志文件。
  • /srv/gitlab/data:用于存放GitLab的数据文件。

可以使用以下命令创建这些目录:

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

运行GitLab容器

接下来,使用docker run命令运行GitLab容器。你需要指定容器的一些运行参数,如主机名、端口映射、容器名称、重启策略以及数据卷映射等。以下是一个基本的运行命令示例:

docker run --detach  --publish 443:443 --publish 80:80 --publish 2222:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

--detach:在后台运行容器。

--publish:将容器内部的端口映射到宿主机的端口上,便于外部访问。

--name:为容器指定一个名称。

--restart always:设置容器总是自动重启。

--volume:将容器内的数据卷映射到宿主机的指定目录上。

修改gitlab.rb配置

(因为文件内容比较多,不熟悉的话建议将服务器上的配置拉下来全局搜索修改)

执行命令 vim srv/gitlab/config/gitlab.rb 找到下面这个配置

# external_url 'GENERATED_EXTERNAL_URL'(大约在32行位置)

去掉注释,并修改为我们服务器的地址!!!

配置ssh使用的访问地址和端口

# gitlab_rails['gitlab_ssh_host'] = 'ssh.host_example.com'(大约在66行位置)

修改gitlab_rails['gitlab_shell_ssh_port'] 为 = 2222,因为上面docker run的时候,我们避免端口冲突,设置端口映射配置为--publish 2222:22(大约在698行位置)

### 华为云部署实例教程 #### 使用华为云Flexus云服务器X实例部署WordPress网站 在openEuler系统环境下,利用华为云Flexus云服务器X实例可以轻松实现WordPress网站的搭建。这一过程不仅验证了该实例的强大性能和灵活性,同时也展示了其对于中小型企业及开发者的吸引力[^1]。 ```bash # 更新软件包列表并安装必要的依赖项 sudo yum update -y sudo yum install epel-release -y # 安装Apache HTTP Server, MariaDB数据库以及PHP环境 sudo yum install httpd mariadb-server php php-mysqlnd -y # 启动HTTPD服务并将之设置为开机自启 sudo systemctl start httpd sudo systemctl enable httpd # 下载最新版本的WordPress到Web根目录 cd /var/www/html/ wget https://wordpress.org/latest.tar.gz tar -xzvf latest.tar.gz # 设置适当权限给WordPress文件夹 chown -R apache:apache wordpress/ # 配置MariaDB安全选项并创建用于WordPress的数据表结构... mysql_secure_installation ``` 通过上述命令序列可以在短时间内准备好运行WordPress所需的基础架构,并且能够享受到由华为所提供的高性能计算资源支持下的顺畅浏览体验。 #### 成功案例分析——JmalCloud应用的成功部署 另一个值得注意的例子是在同一类型的硬件设施之上完成了对名为`JmalCloud`的应用程序移植工作。这款应用程序主要面向于那些希望改善内部资料保存机制的企业客户群体;它允许用户上传下载文档的同时也提供了额外的安全防护措施来保护敏感数据免受未授权访问威胁。在整个迁移过程中没有遇到明显的阻碍因素,最终成果超出了预期目标,这进一步证实了选择华为云平台作为业务支撑框架是一个明智之举[^2]。 #### 关于其他应用场景的可能性探讨 除了以上提到的具体例子之外,《华为云云耀云服务器L实例评测|云耀云服务器L实例部署SpaceInvaders经典小游戏》同样是一篇值得参考的文章。文中描述了作者如何借助另一款叫做“云耀”的系列产品顺利实现了游戏项目的上线发布。尽管两者之间存在差异之处,但从侧面反映出不同种类的服务方案均能很好地满足多样化需求场景的要求[^3]。 为了帮助更多的人更快捷地上手操作,官方还特别准备了一份详细的指南文档,里面包含了从零开始直至项目正式对外发布的每一个环节说明。特别是针对Linux系统的自动化脚本编写部分给予了充分重视,使得即使是初学者也能顺利完成整个流程而无需担心复杂度问题的存在[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃香蕉的阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值