【技术应用】使用华为云流水线制作Django镜像
【摘要】 容器镜像服务(SoftWare Repository for Container)是一种支持容器镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。
创建代码仓库
登录华为云代码托管,创建一个空仓库django-test。
# 创建了一个空代码仓库之后,在你本地进入一个空目录,如myproject,并执行如下命令,git链接请替换成自己的
git clone git@code.aliyun.com:272904483/kube-apiserver.git
在myproject目录下将自动创建django-test子目录。
创建镜像仓库
登录华为云镜像服务。
1、创建流水线
首先,进入到SWR服务首页:https://www.huaweicloud.com/product/swr.html,点击“镜像快速交付”按钮。
2、创建镜像/部署
点击“创建流水线”按钮,选择“镜像构建并部署” 标签页下的 “基于源码直接构建镜像” 类型的流水线,然后输入流水线名称,点击确认。
填写好流水线名称后,点击确定。
进入到该环节后,选中“代码来源”中的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的定义,
首先,选择组织,一般系统默认会有一个与租户名相同的组织,您也可以点击下拉框中的“创建组织”来新建。
接下来,新增全局变量,变量名为 repo,默认值为 tank。
然后,在归档地址的“镜像仓库”位置填入 ${repo},TAG位置填入 ${version},以便流水线启动时,通过不同的变量来确保每次构建的镜像版本不同。
完成以上步骤后,点击“下一步”。
— 选择待部署的集群和命名空间,如果没有集群,则点击“创建集群”,会跳转到CCE服务页面,用户可以手动创建集群 。
— 新建工作负载:选择完集群后,如果集群中没有创建过工作负载,或想使用新的工作负载进行部署,则点击新建链接,页面会要求输入新的工作负载名称。
— 新建工作负载后,系统会自动生成负载所对应的的kubenetes yaml文件,若您对kubernetes yaml文件非常熟悉,可以自行修改文件中的参数;若您不了解kubernetes yaml文件,建议您不作任何修改。
— 新增服务访问通道:如果镜像部署好后要对外提供服务,需要添加访问参数,包括访问该服务所使用的域名(自定义,tank)、访问方式(vpc内网访问)、协议(TCP)、容器内端口(80)、访问端口(自定义,30808)
3、启动流水线
启动流水线有两种方式,一种是通过界面的“启动流水线”按钮,一种是通过访问流水线启动接口,可以任选一种进行,推荐通过页面的按钮启动。
— 通过界面按钮启动流水线:如果有用户自定义的全局变量,需要在启动时输入本次执行流水线所使用的变量值,如版本号、镜像名称等等,我们这里可以直接使用默认值
— 通过curl命令启动流水线:若您需要将启动过程集成到shell脚本中,则只需要点击界面上的“使用指导”链接,界面将生成curl命令。将命令行中 –d 后面的“verion=数值”,替换成所需要传入的变量名称和相应的值即可。如 … -X POST – d “version=v1.0 &repo=tank ” -H ...
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)