devops之路持续集成容器部署方案

图片描述

先来看总体架构图,分为构建和部署

  1. 从代码库到runner完成docker镜像的制作,然后提交到私有镜像库
  2. 通过rancher容器管理平台拉取镜像,启动容器服务,完成服务部署
1.项目版本中加入

.gitlab-ci.yml

stages:
  - test
  - deploy

# 变量
variables:
  DEV_RSYNC_PATH: "/data/deploy/xunlei.com/misc.xl9.xunlei.com/d/"

# 所有 stage 之前的操作
before_script:
  - npm set registry http://xnpm.sz.xunlei.cn
  - npm install

# 代码检查
lint:
  stage: test
  script: npm run lint

# 单元测试
unit:
  stage: test
  script: npm run unit

# 部署测试服务器
deploy_dev:
  stage: deploy
  tags:
    - 10.10.34.91-dev
  only:
    - develop
  script:
    - rsync -av --delete-after --exclude-from=/data/shell/home.xl9.xunlei_exclude.list . $DEV_RSYNC_PATH
    - chmod -R 755 $DEV_RSYNC_PATH
    - chown -R nobody:nobody $DEV_RSYNC_PATH
    - find $DEV_RSYNC_PATH -type f -exec chmod 644 {} \;
    - cd $DEV_RSYNC_PATH
    - npm install
2. 制作项目dockerfile

例如:

FROM ubuntu

RUN apt-get update && apt-get install -y nodejs  
ADD . /app  
RUN cd /app && npm install

CMD npm start
  1. 当代码提交后,通过git的钩子机制触发gitlab ci,gitlab ci 管理在注册在自己下的runner构建主机,执行.gitlab-ci.yml 中配置的shell命令,通过dockerfile制作项目镜像,然后push镜像到私有镜像库中。
  2. 在rancher中,配置容器启动命令,完成服务的运行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值