美文网首页我爱编程微服务核心玩法
Spring Cloud DevOps之旅(一)环境准备

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

作者: show1987 | 来源:发表于2018-08-16 11:17 被阅读19次

    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

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

      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

    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版本


    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

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

    1. 使用科学上网直接下载
      image.png

    本地安装


    image.png
    1. 更换更新源


      image.png

    重启jenkins服务

    创建账号

    image.png

    相关文章

      网友评论

        本文标题:Spring Cloud DevOps之旅(一)环境准备

        本文链接:https://www.haomeiwen.com/subject/sagdbftx.html