基于drone的CI/CD,对接kubernetes实践教程
CI 概述
用一个可描述的配置定义整个工作流
程序员是很懒的动物,所以想各种办法解决重复劳动的问题,如果你的工作流中还在重复一些事,那么可能就得想想如何优化了
持续集成就是可以帮助我们解决重复的代码构建,自动化测试,发布等重复劳动,通过简单一个提交代码的动作,解决接下来要做的很多事。
安装完Ubuntu 18.04之后要做的几件事
Ubuntu 18.04是Ubuntu系列最新的长期发布版,需要使用Ubuntu的同学可以安装一下。虽然现在很多软件和工具还没有支持Ubuntu 18.04,但是作为长期支持版,用不了多长时间,大部分软件都会支持。
使用Git命令从Github下载代码仓库
1.使用终端命令进入文件夹,命令:cd f:/code/git
2.初始化版本仓库 git init,会在文件夹下创建一个隐藏的.git文件
3.复制代码到本地 git clone url,“url”为源码所在地址
4.此时文件夹下就成功的下载了源码
Git Pull强制覆盖本地文件
在有些场景下为了避免代码冲突,需要强制使用远程代码覆盖本地代码,比如自动部署,GitHub的webhook
解决方法
git fetch --all
git reset --hard origin/master
git pull
...
基于Kubernetes的瓜子云的任务调度系统
很大的挑战。
接下来我讲详细介绍一下瓜子云的任务调度系统搭建所遇到的问题和解决方案。
需求
瓜子最早的时候,任务调度用的是Crontab,后来由于数据仓库的复杂调度需求,我们引入了Airflow。Airflow支持DAG依赖,失败重试,历史状态记录,log收集等多种非常使用的功能。
Git回滚代码到某个commit
回退命令:$ git reset --hard HEAD^ 回退到上个版本$ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前
$ git reset --hard commit_id 退到/进到 指定commi...