• 先决条件
  • 技术栈介绍
  • 环境介绍
  • 思路介绍
  • 开始手撸
  • 抵达终点的坑(记录)
  • 源代码(github)

 

先决条件

源代码管理(目前只写git)

源代码语言支持cli发布

部署方式为文件部署

 

技术栈介绍

linux、docker、git、.net core 3.0

 

环境介绍

好像有点废话,docker + git + .net core (C#)

 

思路介绍

源代码管理git,我们都会往云端提交代码,最新一份代码在服务器,直接拿最新代码进行部署

docker,这个东西不是重点,其实都可以去掉,他的作用只是因为我的环境里面有它;docker在设计的时候我并没有把代码部署镜像里面,而是通过-v和宿主进行绑定,所以我在更新代码的时候,就和.net formwork一样,可以通过ftp一样上传上去,重启即可

.net core带来的便利,他支持cli

.net core可以执行命令(不管是window还是linux都可以)

那就“简单”了,我们只需要编写一个.net core程序,执行cli咯

 

开始手撸

 

过程

  1. 搞一个仓库先?
  2. git操作?
    1. 监听是否有新版本
    2. 拉取代码
  3. 编译,构建?
    1. 应该可设置代码语言,配置命令映射
    2. 语言版本设置,不同版本cli可能有差异
  4. 配置关系?
    1. 配置git源
    2. 配置git下面的项目,一个git应该会有多个项目
    3. 字典:语言、语言版本
    4. 每个项目应该要设置版本和对应的语言
  5. 提供可配置方式(哈哈哈,希望能够第三个语言可以直接配出来)?
    1. 不知道怎么做
    2. 还不知道怎么做
    3. 还需要摸索怎么做
  6. 开鲁咯?
  7. 完成演示版?

 

抵达终点的坑(记录)

1.代码下载了,编译了。如何在docker上应用呢?

有些是直接代码打包成镜像,但是我还没有做集群,也没有自动部署,前期为了方便 使用-v的方式直接更新文件重启即可。

所以在我这里需要做两步,1复制编译后的文件;2重启容器;第一步可以使用-v给足控制宿主机的文件夹即可。

第二步重启晚上找了写资料。1.想内部操作发现,发现容器无法操作宿主机的docker;2.使用远程操作,发现宿主机没有容器网段ip,所以要使用外部(不是虚拟网络)网络;3.走外部网络需要开端口,不安全问题来了;4.配置证书访问绝对是坑,已经倘过了,请看链接(我的是centos7.6,其他服务器自己找吧😂)

https://blog.csdn.net/u011010407/article/details/106072944

 

源代码(github)

 

 

 

 

 

 

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐