【技术应用】使用华为云流水线制作Django镜像

举报
乔戈里峰 发表于 2018/12/25 16:48:50 2018/12/25
【摘要】 容器镜像服务(SoftWare Repository for Container)是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。

创建代码仓库

登录华为云代码托管,创建一个空仓库django-test

image.png

# 创建了一个空代码仓库之后,在你本地进入一个空目录,如myproject,并执行如下命令,git链接请替换成自己的

git clone git@code.aliyun.com:272904483/kube-apiserver.git

在myproject目录下将自动创建django-test子目录。

创建镜像仓库

登录华为云镜像服务。

1、创建流水线

首先,进入到SWR服务首页:https://www.huaweicloud.cn/product/swr.html,点击“镜像快速交付”按钮。

image.png

2、创建镜像/部署

点击“创建流水线”按钮,选择“镜像构建并部署” 标签页下的 “基于源码直接构建镜像” 类型的流水线,然后输入流水线名称,点击确认。

image.png

填写好流水线名称后,点击确定。

image.png

进入到该环节后,选中“代码来源”中的DevCloud,然后选择在前置步骤中所创建的django-test的代码仓库和分支,下面信息配置好后点击“下一步”。

指定Dockerfile:进入镜像构建环节后,在DockerFile处选择 “自定义 – dockerfile路径”,系统会自动使用源代码根目录下的Dockerfile文件进行构建。

此时你需要在你本地电脑上,在第一步创建的git仓库中,新建Dockerfile文件并git commit到源代码根目录下内容如下:

FROM python:3

ENV PYTHONUNBUFFERED 1

RUN mkdir /code

WORKDIR /code

ADD requirements.txt /code/

RUN pip install -r requirements.txt

ADD . /code/

点击“下一步”后,选择镜像归档地址:此处我们学习使用全局变量进行镜像仓库和TAG的定义,

image.png

首先,选择组织,一般系统默认会有一个与租户名相同的组织,您也可以点击下拉框中的“创建组织”来新建。

接下来,新增全局变量,变量名为 repo,默认值为 tank。

然后,在归档地址的“镜像仓库”位置填入 ${repo},TAG位置填入 ${version},以便流水线启动时,通过不同的变量来确保每次构建的镜像版本不同。

完成以上步骤后,点击“下一步”。

image.png

— 选择待部署的集群和命名空间,如果没有集群,则点击“创建集群”,会跳转到CCE服务页面,用户可以手动创建集群 。

— 新建工作负载:选择完集群后,如果集群中没有创建过工作负载,或想使用新的工作负载进行部署,则点击新建链接,页面会要求输入新的工作负载名称。

— 新建工作负载后,系统会自动生成负载所对应的的kubenetes yaml文件,若您对kubernetes yaml文件非常熟悉,可以自行修改文件中的参数;若您不了解kubernetes yaml文件,建议您不作任何修改。

image.png

— 新增服务访问通道:如果镜像部署好后要对外提供服务,需要添加访问参数,包括访问该服务所使用的域名(自定义,tank)、访问方式(vpc内网访问)、协议(TCP)、容器内端口(80)、访问端口(自定义,30808)

image.png

3、启动流水线

启动流水线有两种方式,一种是通过界面的“启动流水线”按钮,一种是通过访问流水线启动接口,可以任选一种进行,推荐通过页面的按钮启动。

image.png

—  通过界面按钮启动流水线:如果有用户自定义的全局变量,需要在启动时输入本次执行流水线所使用的变量值,如版本号、镜像名称等等,我们这里可以直接使用默认值

image.png

—  通过curl命令启动流水线:若您需要将启动过程集成到shell脚本中,则只需要点击界面上的“使用指导”链接,界面将生成curl命令。将命令行中 –d 后面的“verion=数值”,替换成所需要传入的变量名称和相应的值即可。如  … -X POST – d “version=v1.0 &repo=tank ”  -H ...

image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。