前言
在自己的运维工作中,有接触到一些,自动化脚本的任务。
什么,每天定时收集对应于域名的访问情况,收集状态码信息,然后汇总输出,给客户,或者给内部的运维群。
自己有稍微接触过类似的流程。特指,自己写了一些脚本,但仅限于自己使用,没有上传到公司平台,也没有实现自动化的调用。
趁着最近对这个东西感一点兴趣,决定粗略学习一下,用一个基本的案例,来感受这一整套流程。
这一次的任务是:
- 在自己的服务器里面搭建一个基础的CD/CI平台
- 完成一个基础的自动化任务。
- 自动化任务为:每1分钟,访问百度首页,掘金首页和Bilibili首页,收集访问的状态码和访问时间,并保存在linux机器上,供Grafana调用统计。(有想过接入微信等接口,然后将访问结果输出给自己的微信。后面考虑到,公司平台的接口和当前的不大一致,自己也懒得整第二个微信账号,遂作罢。)
大致了解什么是CI/CD
百度看了看,掘金看了看。
大概了解到,CI/CD是一个概念。
一个,让应用开发,在开发速度和维护线上服务稳定之间保持一个平衡的方案。
什么持续集成、持续交付、持续部署。我的理解就是,把开发、测试和线上部署三个流程,加入自动化工具,减少人的工作量,但不减少人的决策力度。
CI/CD平台安装
目前,最流行的(在我耳边出现次数最多的)有两个平台。
Jenkins和GitLab。(GitLab好像有国内的正统网站,就不贴墙外的了。)


大致了解一番后,感觉GitLab可能会更简单一点,决定安装GitLab。
GitLab的安装
按照官网的步骤来吧。(如果你没有登录账号的话,查看不了。)

我懒得参照官网的步骤了,直接用Docker的官方镜像站,拉取创建了一个容器。
然后自己本地HOST一下,通过Nginx反向代理一下。
注意端口不要冲突,把GitLab的监听端口改成8088之类的就行。

GitLab的默认账号和密码
安装好之后,了解到平台会自动创建一个初始账号root
,对应密码就在/config/
目录下。
arduino
/config/initial_root_password

复制粘贴登录就行。

修改密码的大致步骤如下。
后续接触英语的地方很多,这个就不换了。不会看的英语,多接触接触就熟悉了。
