设为首页 收藏本站
查看: 944|回复: 0

[经验分享] CentOS7.3下Jenkins+docker自动化部署solo站点

[复制链接]

尚未签到

发表于 2019-2-20 13:07:49 | 显示全部楼层 |阅读模式
  在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署、交付(CD)。
  持续集成(CI)表示由开发对项目代码进行确认修改并推送到git,svn,ftp等应用的持续更新发版操作。
  持续部署(CD)表示根据jenkins在应用中拉取的代码可以对目标服务器进行持续部署到任何环境下。
  将代码更新后,提交到指定的存储库中,如git,svn以及ftp等应用中,再由运维通过jenkins拉取存储在应用中的项目代码,打包成war包的形式部署到对应的测试环境以及生产环境中。docker的参与就在于,通过执行shell语句拉取远程镜像仓库的镜像,以及git,svn,ftp中的项目代码,在本地docker环境下,通过Dockerfile的形式再改远程镜像中构建出一套存在项目代码的新的基础镜像,并将镜像上传到远程registry中,再通过jenkins中ssh协议对想要部署的docker主机进行镜像拉取,容器创建等远程部署操作,这样服务就能正常运行了。
  

  工作流程:

  •   开发人员提交代码到Git版本仓库;
  •   Jenkins人工/定时触发项目构建;
  •   Jenkins拉取代码、代码编码、打包镜像、推送到镜像仓库;
  •   Jenkins在Docker主机创建容器并发布。
  环境规划如下:
  node-1:192.168.175.128 jenkins/docker
  node-2:192.168.175.130 docker/部署主机
  node-3:192.168.175.131 git/registry 仓库
1.部署Git仓库
  主机node-3
  1.安装git
  #yum install -y git
  2.创建git用户、
  #useradd git
  #passwd git
  3.以git用户的身份在其家目录下创建git仓库
  #su - git
  ~]mkdir solo.git  //该仓库绝对路径为/home/git/solo.git
  

  4.尝试拉取远程git仓库中的代码
  #git clone git@192.168.175.131:/home/git/solo.git
  2.部署私人registry
  主机 node-3

  

    1.安装docker
    # yum install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm -y
  # yum install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm -y

    

    2.启动docker
    # systemctl start docker && systemctl enable docker
  

    3.创建registry,并在后台运行
    # docker pull registry
    # docker run -itd --name registry -p 5000:5000 --restart=always registry
    

  3.部署jenkins
   1.安装jdk,maven
      # tar -xf  jdk-8u181-linux-x64.tar.gz -C /usr/local
      # mv /usr/local/jdk-8u181-linux-x64 /usr/local/jdk1.8
      # tar -xf apache-maven-3.5.0-bin.tar.gz -C /usr/local
      # mv /usr/local/apache-maven-3.5.0-bin /usr/local/maven
      # cat > /etc/profile.d/java.sh  凭据
       配置远程docker主机的身份,让jenkins能够在该docker主机上进行镜像拉取,容器构建操作,可以使用密钥,密码的方式
       

  

  2.系统管理 --> 系统设置 配置远程主机信息,主机IP,使用的凭据,访问端口


  

  

  3.系统管理 --> 全局工具设置 设置jdk,maven,git的全局配置,如路径,名称


  4.系统管理 --> 管理插件 安装插件SSH,Git Parameter,Maven Integration plugin
     

      5.创建Maven项目,进行配置
     

    

    设置在git仓库拉取代码,需要设置无密连接

     



  

  在本地jenkins执行shell命令,并在远程docker操作主机将封装好的镜像拉渠道docker主机,删除之前部署过的镜像和容器,并启动封装了最新代码的镜像容器

  进行部署
  1.保存配置
  2.Build with Parameters:根据Tag选择版本号

    
    3.进入控制台查看输出

    

  4.访问博客





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674932-1-1.html 上篇帖子: 『中级篇』Docker-Stack部署投票应用(50) 下篇帖子: 使用Docker快速搭建Gitlab
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表