目录
前言
🚀 828 B2B企业节特惠来袭,Flexus X实例引领自动化部署新纪元!Docker携手Jenkins与Gitee,共创CICD无限可能!在快速迭代的数字时代,我们自豪地推出这一前沿解决方案,为您的C# Web API项目注入前所未有的敏捷动力。通过集成Docker容器化技术、Jenkins持续集成/持续部署(CICD)平台,以及Gitee高效版本控制系统,我们旨在打造一个无缝衔接的开发到部署流水线,让您的项目在数字化转型的浪潮中乘风破浪,遥遥领先!
🐳 一个高度自动化的环境,每一次代码提交都能触发自动化的构建、测试与部署流程。在这个流程中,Docker确保了应用运行环境的标准化与一致性,无论本地开发还是云端部署,都能享受到“所见即所得”的便捷;Jenkins作为强大的CICD引擎,自动化地管理着整个流程,从代码拉取、编译构建到部署发布,每一步都精准无误;而Gitee,作为您的代码仓库,不仅提供了安全的版本控制服务,还通过集成Jenkins触发器,实现了代码变更与部署流程的即时联动。
🐤本实践指南将带您深入探索Docker+Jenkins+Gitee的完美结合,一步步构建起一套高效、可靠的CICD自动化部署体系。您将学会如何配置Jenkins以监听Gitee的Webhooks,实现代码提交的即时响应;如何利用Docker容器快速打包并运行您的C# Web API应用;以及如何通过Jenkins脚本化地管理整个部署流程,包括环境配置、依赖安装、测试执行与部署发布等关键环节。
实验步骤
环境准备
本实验沿用了上一个实验,环境是Flexus X实例自定义模式,使用了4vCPUs | 12GiB,镜像是最高版本的ubuntu,在上一个实验中使用xshell连接了服务器,随后在服务器中安装了git、dokcer。这里就不重复介绍了,可自行操作或参考上一个实验!
828华为云征文|Flexus X实例C#/.Net Core 结合(git代码管理、docker自定义镜像)快速发布部署-让你的项目飞起来~-优快云博客
安装Portainer
介绍:
Portainer是一款开源的轻量级管理UI,旨在简化Docker和Kubernetes环境的管理。Portainer提供了状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务的集中管理和操作等功能。这些功能基本能满足中小型单位对容器管理的全部需求。
拉取镜像
使用Docker命令拉取Portainer的Docker镜像:
docker pull portainer/portainer-ce
拉取镜像报错了!!!在尝试从 Docker 镜像仓库(如 Docker Hub)获取镜像时遇到了问题。我们可能需要配置 Docker 以使用国内的镜像源,因为直接访问 Docker Hub 有时可能会很慢或不稳定
更换镜像源
在Linux系统中,Docker的配置文件通常位于/etc/docker/daemon.json
。如果该文件不存在,则需要手动创建。
从查询结果来看,我目前并没有这个文件,下面我自己创建一个!
// 创建文件
cd etc/docker
touch daemon.json
//编辑文件
vim daemon.json
// 在文件中输入以下内容 注意:刚打开文件要输入i才可以进入编辑模式
{
"registry-mirrors": [
"https://gallery.ecr.aws/",
"https://gitverse.ru/docs/artifactory/gitverse-registry/",
"https://docker.lmirror.top",
"https://atomhub.openatom.cn/"
]
}
// 退出编辑模式,从插入模式回到普通模式,只需要按下 Esc 键
// 退出 Vim
// 修改完成后我们需要完全退出 Vim 编辑器,可以使用以下命令:
:q //如果没有做任何修改,则退出 Vim。
:q! //强制退出 Vim,不保存任何修改。
:wq 或 :x //保存修改并退出 Vim。
:ZZ //和 :wq 一样,保存修改并退出 Vim,但更简短。
接下来我们重启docker服务
[root@localhost]# systemctl daemon-reload
[root@localhost]# systemctl restart docker
再次拉取Portainer的Docker镜像,此时已经可以正常拉取了!