资讯专栏INFORMATION COLUMN

Cube完结篇:实践指南之CD持续部署

Tecode / 1911人阅读

摘要:本期内容是结合在的持续部署流程,实现从代码至到部署应用至中全自动的持续部署。编写自己的命令如果有困难,可以加群申请源代码示例也可以等近期即将发布的,这样更香。

千呼万唤始出来,Cube完结篇来了!
今天的内容,是持续部署至Cube
掌握前3期教程内容
搭配第四期使用,你就是全场最靓的仔!
朋友们,来咯!
image.png
上一期我们用云游戏的演示网站介绍了Java应用如何做成镜像部署至Cube。本期内容是结合Cube API在Gitlab的持续部署流程,实现从"push 代码至Gitlab"到"部署应用至Cube中"全自动的持续部署。

接下来我们提炼一下本期操作要点:

1. 安装Gitlab Runner并注册到Gitlab

需要有gitlab的 admin权限;
Gitlab Runner建议采用Shell Executer;
Gitlab Runner用户需要有Docker命令的执行权限,非生产环境可以sudoer权限跑通全程。

2. 编写自己的update_cube命令

  1. 如果有困难,可以加群申请源代码示例;
  2. 也可以等近期即将发布的UCLI,这样更香。

3. 准备自己的cube yaml文件模板

  1. 可以手工创建cube,然后将yaml文件另存下来;
  2. 删除运行状态相关的行,将镜像URL的Tag部分替换成占位符;
  3. 放到源代码库中,假设文件名为

/yaml/my_cube_template.yaml

apiVersion: v1beta1
kind: Pod
metadata:
  provider:
    containerCount: 1
    region: cn-sh2
    resource:
      cpu: 500
      memory: 1024
    subnetId: subnet-XXX
    vpcId: uvnet-XXX
    zone: cn-sh2-01
spec:
  containers:
    - env:
        - name: 
          value: 
      image: uhub.service.ucloud.cn/gary/cloudgame-image:
      name: cube03
      resources:
        limits:
          cpu: 500m
          memory: 1Gi
      volumeMounts:
        - mountPath: /etc/appconfig
          name: config
  restartPolicy: Always

4. 准备gitlab Runner yaml文件

以下是示例,只要push代码即触发:

variables:
  MAVEN_CLI_OPTS: "--batch-mode"
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository"

cache:
  paths:
    - .m2/repository/
    - target/

buildToIntegraion:
  stage: build
  except:
    - tags
  script:
    - mvn $MAVEN_CLI_OPTS package
    - sudo docker build -t uhub.service.ucloud.cn/gary/cloudgame-image:SNAP-$CI_PIPELINE_ID .
    - sudo docker push uhub.service.ucloud.cn/gary/cloudgame-image:SNAP-$CI_PIPELINE_ID

deployToIntegration:
  stage: deploy
  except:
    - tags
  script:
    - cat  yaml/my_cube_template.yaml |sed "s//SNAP-$CI_PIPELINE_ID/"  > /tmp/cube_SNAP-$CI_PIPELINE_ID.yaml
    - /cubeclient/update_cube -yamlfile /tmp/cube_SNAP-$CI_PIPELINE_ID.yaml -cube 

回顾往期视频可点击
《Docker?Cube!简单、安全、高可用Serverless容器服务》
《PHP应用的Serverless高可用部署,Cube帮你轻松搞定!》
《Cube实践第三期:超详细Java应用入Cube指南》

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/125908.html

相关文章

  • Cube实践第三期:超详细Java应用入Cube指南

    摘要:今天,我们换施老师来讲,超详细的应用入指南。朋友们,来咯视频实践第三期超详细应用入指南视频实践第三期超详细应用入指南知识点云游戏的演示网站是一个典型的应用,视频内容是以这个应用为例向大家介绍应用如何打成镜像,放到中运行。上一期视频,沈老师带各位将一个PHP网站运行在Cube上。今天,我们换施老师来讲,超详细的Java应用入Cube指南。朋友们,来咯!知识点云游戏的演示网站是一个典型的Java...

    Tecode 评论0 收藏0
  • UCan技术开放日(上海站)——云原生在多行业场景的落地实践

    摘要:技术开放日云原生在多行业场景的落地实践当前,云计算已成为万千企业数字化转型的基石,随之而来的是对云计算应用效能的更高要求。UCloud UCan技术开放日——云原生在多行业场景的落地实践当前,云计算已成为万千企业数字化转型的基石,随之而来的是对云计算应用效能的更高要求。敏捷开发、弹性架构、多集群运维等,让企业现有IT架构面临新的挑战。云原生以其独特的技术特点,很好地契合了云计算发展的本质需求...

    Tecode 评论0 收藏0
  • fir.im Weekly - 如何用 iPad 创造技术生产力

    摘要:那么,我们究竟需要什么样的工具释放技术生产力本期分享下赵赛坡的生产力指南,精选了上大量优秀的生产力应用,字,多张插图动态图,全部在上完成,涉及到六大工作流多款应用的使用教程。 传播学大师麦克卢汉有一个著名理论——「 媒介即讯息,媒介是人的延伸」,在当代,表现更为明显的是「工具即为人的延伸」,工具使人自由。那么,我们究竟需要什么样的工具释放技术生产力?本期 fir.im Weekly 分...

    BaronZhang 评论0 收藏0
  • fir.im Weekly - 如何用 iPad 创造技术生产力

    摘要:那么,我们究竟需要什么样的工具释放技术生产力本期分享下赵赛坡的生产力指南,精选了上大量优秀的生产力应用,字,多张插图动态图,全部在上完成,涉及到六大工作流多款应用的使用教程。 传播学大师麦克卢汉有一个著名理论——「 媒介即讯息,媒介是人的延伸」,在当代,表现更为明显的是「工具即为人的延伸」,工具使人自由。那么,我们究竟需要什么样的工具释放技术生产力?本期 fir.im Weekly 分...

    skinner 评论0 收藏0
  • 前端相关大杂烩

    摘要:希望帮助更多的前端爱好者学习。前端开发者指南作者科迪林黎,由前端大师倾情赞助。翻译最佳实践译者张捷沪江前端开发工程师当你问起有关与时,老司机们首先就会告诉你其实是个没有网络请求功能的库。 前端基础面试题(JS部分) 前端基础面试题(JS部分) 学习 React.js 比你想象的要简单 原文地址:Learning React.js is easier than you think 原文作...

    fuyi501 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<