1.什么是DevOps?
百度百科:
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。
个人理解
解放了开发人员和运维人员的工作,使得代码提交、构建、测试、发布更顺畅,告别繁琐的手动发布方式,避免出现人为错误。
2.原始社会比较Low的做法
本人做过.NET、做过java,因为发布项目都是手工操作,每次遇到发布代码就很头大,发布测试环境倒还好,发布正式环境真的是步步惊心,我之前的做法大致如下:
image.png
问题很明显,全部操作手动实现,费事。
时代会进步,我们的思想也要进步,能尽量偷懒的事情必须偷懒,这是我的原则。
那么正确的姿势是啥呢?
3.CICD
简单解释是,CI
持续集成 CD
持续部署
image.png
3.1 CI
程序员提交代码到Git:触发WebHook中设置的地址,WebHook中的地址为Jenkins中触发构建的地址,此时,Jenkins就正式启动CICD的过程了。
Git: 从Git服务器clone代码到jenkins所在的服务器
Maven:使用maven编译构建Spring Cloud代码
Docker:使用dockerfile创建镜像
Docker镜像仓库:Docker镜像仓库可以是免费的,国内有网易蜂巢、阿里云、腾讯云等。也可以自己使用Harbor搭建仓库。
3.2 CD
服务编排:常用的服务编排框架如下
Docker-Compose:docker开发的服务编排工具
Kubenetes:google开发的服务编排工具,支持docker,支持集群、滚动更新、回滚等
Swarm: Docker2014年12月发布的服务编排工具,支持集群
Pull镜像:服务编排工具会自动从配置好的镜像地址拉取指定版本的镜像
运行容器:服务编排工具根据配置的映射端口、容器名、环境参数运行
4.安装环境
准备一台Centos服务器,我使用的版本是Centos7.5
4.1 Java环境安装
需要Java1.8,使用yum安装
查看已安装的jdk包yum list installed |grep java
如果有系统自带的包则删除
安装JDK
image.png
检查是否安装成功
image.png
jdk安装完后目录为/usr/lib/jvm
jdk文件夹为/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
环境变量配置
vi /etc/profile
打开配置文件后添加
#set java environmentJAVA_HOME=/usr/lib/jvm/java-1.8.0JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH
立即生效环境变量
source /etc/profile
4.2 maven安装
下载maven包
解压
tar zxf apache-maven-3.5.3-bin.tar.gz mv apache-maven-3.5.3 /usr/local/maven3.5.3
配置环境变量
vi /etc/profile#set maven environmentexport M2_HOME=/usr/local/maven3.5.3export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
环境变量生效
source /etc/profile
4.3 安装Git
yum install git -y
4.4安装Jenkins
Jenkins官网https://jenkins.io/
找到最新的jenkins版本
image.png
image.png
安装Jenkins
#下载rpm wget https://pkg.jenkins.io/redhat-stable/jenkins-2.121.3-1.1.noarch.rpm #安装 rpm -ih jenkins-2.121.3-1.1.noarch.rpm
修改启动端口
vim /etc/sysconfig/jenkins #修改JENKINS_PORT参数 JENKINS_PORT="8000"
为jenkins用户添加root和docker组
groupadd docker gpasswd -a jenkins root gpasswd -a jenkins docker systemctl restart docker systemctl restart jenkins
如果不执行该操作,jenkins无法使用docker的命令,会遇到jenkins操作权限不足的问题。
启动jenkins
systemctl start jenkins
在浏览器中访问http://ip:8000
第一次需要初始化密码
image.png
找到管理员密码,输入密码
cat /var/lib/jenkins/secrets/initialAdminPassword
安装插件
image.png
选择所有Pipeline插件
image.png
image.png
网络问题无法下载插件的请看此处
使用
科学上网
直接下载image.png
本地安装
image.png
更换更新源
image.png
重启jenkins服务
创建账号
image.png
作者:show1987
链接:https://www.jianshu.com/p/3ab52fee4738