DevOps和CI/CD
1、Docker相关资源
Docker 官方主页: https://www.docker.com
Docker 官方博客: https://blog.docker.com/
Docker 官方文档: https://docs.docker.com/
Docker Store: https://store.docker.com
Docker Cloud: https://cloud.docker.com
Docker Hub: https://hub.docker.com
Docker 的源代码仓库: https://github.com/moby/moby
Docker 发布版本历史: https://docs.docker.com/release-notes/
Docker 常见问题: https://docs.docker.com/engine/faq/
Docker 远端应用 API: https://docs.docker.com/develop/sdk/
2、Docker 国内镜像
阿里云的加速器:https://help.aliyun.com/document_detail/60750.html(注册后获取连接)
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc 的镜像:https://docker.mirrors.ustc.edu.cn
daocloud:https://www.daocloud.io/mirror#accelerator-doc(注册后使用)
3、构建环境
http://www.zgeo.work:8022/wordpress/category/docker/
4、DevOps和CI/CD
在Docker目录下搭建了docker、harbor、gitlab、nexus,maven环境,jenkins、k8s还没有搭建完成(后面完善),但是现在已经可以说下部署这些环境的目标了,就是搭建一个DevOps的环境,软件的选用也是根据公司的选型,公司里就是用的这一套流程,感觉部署和测试都很方便,这一套流程实际上就是DevOps和CI/CD。具体什么是DevOps和CI/CD,请自行百度吧。
CI(持续构建)基本上包括了编码、构建、测试、打包、发版。
CD(持续部署)基本上主要就是发布。
DevOps(是由”development” and “operations”两个单词合成)是一个软件开发工程的方法论,它包含了软件开发和IT操作(测试和部署)。DevOps的目标是在持续交付、修改、更新时,紧密结合业务,旨在缩短系统开发的生命周期。
5、构建流程
-
开发人员提交代码到代码库(push to git)
-
jenkins从版本库(git)拉取最新代码(pull from git/svn)
-
jenkins通过maven进行构建打包,neuxs提供依赖下载(maven build)
-
通过docker将最新版本做成镜像,并推算至镜像仓库(push to harbor)
-
测试环境直接拉取最新版本镜像,并部署到测试环境(docker run)
6、K8S快速构建DevOps流水线
7、其他工具类型的不完全列举:
-
代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion
-
构建工具:Ant、Gradle、maven
-
自动部署:Capistrano、CodeDeploy
-
持续集成(CI):Bamboo、Hudson、Jenkins
-
配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail
-
容器:Docker、LXC、第三方厂商如AWS
-
编排:Kubernetes、Core、Apache Mesos、DC/OS
-
服务注册与发现:Zookeeper、etcd、Consul
-
脚本语言:python、ruby、shell
-
日志管理:ELK、Logentries
-
系统监控:Datadog、Graphite、Icinga、Nagios
-
性能监控:AppDynamics、New Relic、Splunk
-
压力测试:JMeter、Blaze Meter、loader.io
-
预警:PagerDuty、pingdom、厂商自带如AWS SNS
-
HTTP加速器:Varnish
-
消息总线:ActiveMQ、SQS
-
应用服务器:Tomcat、JBoss
-
Web服务器:Apache、Nginx、IIS
-
数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库
-
项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker