Jenkins + Gitlab + Rancher +Docker 可持续集成环境部署

Jenkins + Gitlab + Rancher +Docker 可持续集成环境部署

前言:

  • 之所以要写这篇文章,因为我自己在学习jenkins时遇到了很多的问题,无从下手,网上找来的文章大都是复制粘贴残缺不全的,或者是只写到一半就没有后续的,反正是种种问题。为了帮助初学者,我决定开个博客写一篇关于Jenkins + Gitlab + Rancher +Docker 可持续集成部署环境搭建的文章,也算是对自己知识的一种积累吧。如有问题,欢迎留言。
  • 本文所演示项目用的是基于Swoole4.2.8原生协程的PHP高性能协程全栈框架,php版本为7.2.11,系统为Centos7。有兴趣的同学可去研究研究该框架。
  • 该项目的协同工作流程为:
    jenkins 从 gitlab拉取代码制作镜像并上传到私有docker仓库,然后rancher再从私有docker仓库拉取镜像并部署服务。

Docker

  • 安装
    Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
    社区版是免费的,企业版会提供额外的收费服务,我们使用免费版即可。
  1. 先更新环境

yum update

  1. 安装需要的软件包

yum install -y yum-utils device-mapper-persistent-data lvm2

  1. 设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

  1. 安装Docker

yum install -y docker-ce

  1. 启动服务

service docker start

  1. 检查Docker服务是否启动

ps aux | grep docker
在这里插入图片描述

  1. 设置开机启动,如果不想开机自启动可跳过

systemctl enable docker

  1. 设置Docker中国镜像
打开配置文件  /etc/docker/daemon.json,并输入下面配置项:

{
    "registry-mirrors": ["https://registry.docker-cn.com"]
} 

然后保存退出即可
  1. 卸载Docker

yum remove docker-ce docker-common docker-selinux docker-engine

  • 安装Docker私有仓库
    安装私有仓库是为了把Jenkins构建的项目镜像存放在该仓库中,以及后续Rancher部署服务时从该仓库拉取镜像
  1. 直接Docker安装

docker run --name docker-registry -d -p 5000:5000 registry

  1. 访问仓库

curl -X GET http://127.0.0.1:5000/v2/_catalog
返回信息如下即表示成功
在这里插入图片描述

  1. 设置允许http协议访问
    修改 /etc/docker/daemon.json并添加 “insecure-registries”: [“127.0.0.1:5000”],添加之后如下:
{
   
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "insecure-registries": ["127.0.0.1:5000"]
}

重启docker

service docker restart
重启私有仓库
docker start xxxx (仓库容器ID)

  • 制作swoft运行环境基础镜像
    该镜像在jenkins构建时会用到,我已经上传至docker hub,可通过,镜像名为 422909231cy/swoft-base-env 可下载查看Dockerfile.

Gitlab

为了快速安装及避免不必要的麻烦,直接Docker安装。Gitlab也是区分社区免费版和企业收费版,直接安装CE社区免费版

  1. 拉取镜像

docker pull gitlab/gitlab-ce:latest

  1. 运行镜像
    一般会在宿主机新建3个目录,将gitlab的配置文件(etc),日志文件(log),数据(data)存放在容器之外,方便升级迁移。

mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data

目录创建完成之后执行以下命令,运行docker

docker run \
    -d \
    -p 443:443 \
    -p 8881:80 \
    --name gitlab-ce \
    --restart unless-stopped \
    -v /mnt/gitlab/etc:/etc/gitlab \
  • 9
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
DockerJenkinsGitLab都是用于实现高效部署和管理应用程序的开源工具。 首先,Docker是一种容器化技术,它可以将应用程序及其依赖打包成一个独立的运行环境,被称为容器。通过Docker,我们可以轻松地将Python应用程序及其相关依赖包装成一个镜像,然后在任何支持Docker环境中进行部署。使用Docker进行Python应用程序的部署可以避免环境配置和依赖安装的问题,确保应用程序在不同的环境中的一致性。 其次,Jenkins是一种持续集成和持续交付工具,它可以自动化构建、测试和部署应用程序。在Jenkins中,我们可以配置一个针对Python应用程序的构建和部署流水线。例如,我们可以设置Jenkins在每次代码提交到GitLab时自动触发构建,然后运行单元测试,最后将应用程序部署Docker容器中。 最后,GitLab是一个Git仓库管理系统,可以帮助团队进行代码版本控制和协作开发。我们可以使用GitLab作为代码仓库,将Python应用程序的源代码存储在其中,并结合Jenkins进行自动化构建和部署GitLab的特点是具有良好的代码管理和协作功能,可以方便地进行多人开发和代码版本控制。 综上所述,使用DockerJenkinsGitLab可以实现Python应用程序的自动化部署和持续交付。通过将应用程序打包成Docker镜像,结合Jenkins的构建和部署流水线,以及GitLab的代码管理和协作功能,可以大大简化部署过程和团队合作,并提高开发和发布的效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值