基于 Docker ( Gitlab、Gitlab Runner ) 搭建一整套自动化CI、CD流程,完成从代码提交到自动打包编译到自动部署运行

作为一个前端,以前在公司内接触过搭建成熟的完整CI、CD流程,后来在想是否自己也能搭建这样一套系统,通过学习研究后有了这样一篇博客,和各位一起共同学习。

首先大家需要一台服务器,本机电脑也行(推荐2核8G配置以上,因为安装的服务比较占内存)。

一、安装 Docker

linux服务器使用curl下载快速安装的shell脚本

curl -fsSL get.docker.com -o get-docker.sh

下载完成后,可以ls命令查看一下。已经存在的话,使用sh命令执行这个脚本

sh get-docker.sh

注意如果不是root用户,需要使用sudo su获取超级管理员权限。

安装完成后启动一下Docker Server

systemctl start docker

使用docker version命令能看到ClientServer就启动成功了。

二、基于 Docker 安装 Gitlab

1. 一键安装命令
docker run --detach \
  --hostname localhost \
  --publish 443:443 --publish 80:80 --publish 222:22 \
  --name gitlab \
  --restart always \
  --volume /home/gitlab/config:/etc/gitlab \
  --volume /home/gitlab/logs:/var/log/gitlab \
  --volume /home/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest

hostname: 这里改成你自己的域名(域名要设置解析)或服务器ip

publish: 端口映射(服务器端口:容器内端口)

restart: 重启方式

volume: 目录挂载,把容器内目录挂载到服务器本地(服务器本地目录:容器内目录)

gitlab/gitlab-ce:latest 镜像名称

2. 安装完成后通过域名或服务
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Jenkins和DockerGitLab结合使用,可以实现自动化部署流程。以下是实现自动化部署的步骤: 1. 创建GitLab仓库:在GitLab中创建一个仓库,用于存放项目代码。 2. 设置Webhook:在GitLab仓库的设置中,配置Webhook,将其与Jenkins服务器关联起来。这样在GitLab代码更新时,会触发Webhook,通知Jenkins执行构建任务。 3. 安装Jenkins:在服务器上安装Jenkins,并配置相应的插件,如Docker Pipeline插件。 4. 创建Jenkins Pipeline:在Jenkins中创建Pipeline,此Pipeline包含了构建、测试和部署的各个阶段。通过Jenkinsfile,可以定义Pipeline的各个阶段的具体步骤和顺序。 5. 执行构建任务:当GitLab仓库中的代码发生变化,Webhook会通知Jenkins服务器执行构建任务。Jenkins会拉取代码,并执行构建过程,如编译运行测试等。 6. 打包Docker镜像:构建成功后,Jenkins会使用Docker Pipeline插件打包Docker镜像,将应用程序和其依赖项封装到一个镜像中。 7. 推送镜像到镜像仓库:Jenkins会将构建好的Docker镜像推送到镜像仓库,如Docker Hub或私有的Docker Registry中。 8. 部署到生产环境:一旦镜像推送完毕,Jenkins可以触发部署任务将镜像部署到生产环境中,可以使用Docker Compose或者Kubernetes进行容器编排和部署。 通过以上步骤,可以实现自动化部署流程,当代码发生变化时,Jenkins会自动执行构建任务、打包镜像和部署到生产环境,提高了部署的效率和可靠性。同时,使用Docker可以提供隔离性和可移植性,使得应用程序的部署更加方便和灵活。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值