借助阿里容器镜像服务实现django项目自动打包部署更新全流程

今日闲着无事,想着是时候向有缘人传授毕生绝学之 “push==end”
是否有过修改一句代码发布更新花费好久的不爽!是否有想过只想写写代码不想部署的冲动!!

1.准备事项

A.阿里容器镜像服务-个人版(免费可开通)
B.带有docker服务的服务器(云服务器或局域网服务器都可,本地服务器需要能访问外网)
C.阿里云效CodeUp(免费可注册的代码托管)

2.开始搭建自动化代码提交部署更新流程

A.在云效CodeUp上创建项目地址 如代码库名称:dev-template

在这里插入图片描述
创建完成后本地使用小乌龟git 上传代码到项目仓库,最主要是在项目根目录下放入docker文件如下图:
在这里插入图片描述

B.创建docker镜像仓库

在这里插入图片描述
如我们输入仓库名称叫 :py-template
然后再下一步中设置代码源
构建设置 勾选代码变更自动构建镜像
在这里插入图片描述
点击创建镜像仓库完成后

接着在构建菜单页面创建构建规则
在这里插入图片描述在这里插入图片描述
如上图所示 镜像版本需设置成latest,这样一来代码变动每次都会生成最新的镜像包。

完成以上配置后可点击 立即构建即可看到镜像服务正在拉取代码并按照dockerfile中的设置开始安装依赖生成镜像包。

C.拉取镜像到需要部署的服务器 并启动containrrr/watchtower 来实现容器的实时更新部署

1.拉取刚打包的镜像 (可参考阿里操作指南)
在这里插入图片描述
docker pull registry.cn-hangzhou.aliyuncs.com/littletortoise/py-template

启动项目容器:

docker run -d -p 8205:8000 --restart=always -v /etc/localtime:/etc/localtime:ro -v /home/dev-template/media:/usr/src/myapp/media --name dev_template registry.cn-hangzhou.aliyuncs.com/littletortoise/py-template

安装containrrr/watchtower:

docker pull containrrr/watchtower

启动watchTower:

docker run -d --name watchtower -e REPO_USER=阿里云镜像服务账号 -e REPO_PASS=你的密码 -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --cleanup --interval 60 dev_template

至此自动流程设置完成!

后面只需要在电脑上使用git提交代码后即可完成代码更新发布到服务器!!!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值