GitLabCI/CD流程
gitlab如果没有和Docker很好的结合。那么它会是一个很平凡的产品。但是有了CI对比其他产品Gogs、github等它还算可堪一用。上一篇文章写了gitlab_ci.yml配置文件的一些参数的含义。本篇文章记录一下如何从零在Gitlab上完成简单的CI/CD流程。基础流程如下Build流程构建我们需要的镜像上传到镜像仓库。部署的时候从镜像仓库直接拉取重启容器
以下内容来自GitlabCI官方文档
最基础的
jobs作为最顶级的元素。每个job至少包含一个script
1
2job1:
script1: pwd每个job的执行都是完全独立于其他的job
以下内容基本全篇摘抄自v1.3的官方文档,先从理解下面这张两张图开始
以下是看udemy的Elasticsearch入门教程做的简短笔记
阅读全文开始一个软件,从读懂它的配置文件开始。以下是读取3.1配置文档的笔记
总结来说,influxdb的配置文件可配置的地方几乎没有。参数性能调优貌似不存在,其中是否开启,是否记录日志都占据了好多部分。额外需要关注的是data章节有一些关于fsync的设置默认是0,还有默认的max-series-per-database和max-value-per-tag默认都存在限制。暂时不太清楚原理是什么(更新:因为influxdb最大的软肋就在series的数量上。tag的数据都保存在内存。所以有极大的限制。可以看到官方硬件要求,100万的series需要4-6核心CPU,8-32GB内存,iops要求1000+。对比一下influxdb提供的云服务,100万的series需要每月1500刀!!!)。当保存大量数据的时候肯定会报错,另外默认的慢查询日志是没有打开的。对于请求。默认没有限制最大的返回内容数。以及限制单个查询响应的时间
以下为观看Ansible-Configuration Management的笔记。不适合初学者查看。可以作为温习使用
阅读全文遇到有人反映可能是内网环境。无法访问外部网络。安装初始化环境的时候好像颇为不便。其实只要能ssh上去。这一切都不是问题。就是各种转发,以下以内网使用pip安装第三方依赖包为例说明该如何操作
1.本机开启一个临时的http代理
1 | pip install mitmproxy # 安装 |
1 | mitmproxy -p 8899 --ignore .+ # 使用 |
mitmproxy是一个python编写的http/https中间人框架。这里我们单独的使用它的http proxy功能。
参数p当然是port端口的意思了。监听8899端口
加上ignore是因为中间人https连接需要客户端安装信任证书才可以。此处我们只是单纯的使用一下proxy不需要中间人。所以所有流量使用HTTP Connection隧道方式就达成目的了。使用正则表达式.+
忽略所有域名。至于为什么使用http不是用socks。因为http使用更广泛
2.ssh使用远程端口转发(参考ssh端口映射)
1 | ssh -R 8899:localhost:8899 remote_server |
将远程主机上的8899端口映射到本机的8899端口
3.远程主机使用本地的http代理进行环境初始化
可以使用如下命令进行测验
1 | curl -x http://localhost:8899 ip.cn |
比如使用pypi安装tornado执行如下命令即可
1 | pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --proxy http://localhost:8899 tornado |
思路是这样。其它同理~~~