Spring Cloud DevOps之旅(一)环境准备

1.什么是DevOps?

百度百科:
DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
它是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。
它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

个人理解
解放了开发人员和运维人员的工作,使得代码提交、构建、测试、发布更顺畅,告别繁琐的手动发布方式,避免出现人为错误。

2.原始社会比较Low的做法

本人做过.NET、做过java,因为发布项目都是手工操作,每次遇到发布代码就很头大,发布测试环境倒还好,发布正式环境真的是步步惊心,我之前的做法大致如下:

Spring Cloud DevOps之旅(一)环境准备_第1张图片
image.png

问题很明显,全部操作手动实现,费事。
时代会进步,我们的思想也要进步,能尽量偷懒的事情必须偷懒,这是我的原则。
那么正确的姿势是啥呢?

3.CICD

简单解释是,CI 持续集成 CD 持续部署

Spring Cloud DevOps之旅(一)环境准备_第2张图片
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

  • 服务编排:常用的服务编排框架如下

    1. Docker-Compose:docker开发的服务编排工具

    2. Kubenetes:google开发的服务编排工具,支持docker,支持集群、滚动更新、回滚等

    3. Swarm: Docker2014年12月发布的服务编排工具,支持集群

  • Pull镜像:服务编排工具会自动从配置好的镜像地址拉取指定版本的镜像

  • 运行容器:服务编排工具根据配置的映射端口、容器名、环境参数运行

4.安装环境

准备一台Centos服务器,我使用的版本是Centos7.5

4.1 Java环境安装

需要Java1.8,使用yum安装

查看已安装的jdk包
yum list installed |grep java

如果有系统自带的包则删除

安装JDK

Spring Cloud DevOps之旅(一)环境准备_第3张图片
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 environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0
JRE_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包

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz

解压

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 environment
export M2_HOME=/usr/local/maven3.5.3
export 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版本


Spring Cloud DevOps之旅(一)环境准备_第4张图片
image.png
Spring Cloud DevOps之旅(一)环境准备_第5张图片
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

第一次需要初始化密码


Spring Cloud DevOps之旅(一)环境准备_第6张图片
image.png

找到管理员密码,输入密码

 cat /var/lib/jenkins/secrets/initialAdminPassword



安装插件

Spring Cloud DevOps之旅(一)环境准备_第7张图片
image.png

选择所有Pipeline插件


Spring Cloud DevOps之旅(一)环境准备_第8张图片
image.png
Spring Cloud DevOps之旅(一)环境准备_第9张图片
image.png

网络问题无法下载插件的请看此处

  1. 使用科学上网直接下载
    Spring Cloud DevOps之旅(一)环境准备_第10张图片
    image.png

本地安装


Spring Cloud DevOps之旅(一)环境准备_第11张图片
image.png
  1. 更换更新源


    Spring Cloud DevOps之旅(一)环境准备_第12张图片
    image.png

重启jenkins服务

创建账号

Spring Cloud DevOps之旅(一)环境准备_第13张图片
image.png

你可能感兴趣的:(Spring Cloud DevOps之旅(一)环境准备)