zoukankan      html  css  js  c++  java
  • .NET Core微服务之基于Jenkins+Docker实现持续部署(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引

    一、CI, CD 与Jenkins

      互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI) => 持续集成指的是,频繁地(一天多次)将代码集成到主干

      它的好处主要有两个:

      • 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
      • 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

      持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。与持续集成相关的,还有持续交付和持续部署。

      持续交付指的是:频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。它强调的是,不管怎么更新,软件是随时随地可以交付的

      持续部署是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。它强调的是代码在任何时刻都是可部署的,可以进入生产阶段

    Martin Fowler 说:“持续集成并不能消除 Bug,而是让它们非常容易发现和改正。”  

      Jenkins 是一款流行的开源持续集成(CI)与持续部署(CD)工具,广泛用于项目开发,具有自动化构建、测试和部署等功能。官方网站:http://jenkins-ci.org/

      使用Jenkins的目的在于:

      (1)持续、自动地构建/测试软件项目。 
      (2)监控软件开放流程,快速问题定位及处理,提升开发效率。

      这里废话不多说了,更多内容,可以参考这一篇文章《不甘寂寞的Jenkins:从持续集成到持续部署

    二、Jenkins的基础安装

    PS: 这里采用的是基于CentOS7.x的安装方式,非Docker安装。

    2.1 安装Java环境

      这里参考晓晨Master的《CentOS7安装Java环境(JDK1.8)》,不再赘述安装步骤,最终验证效果:

      

      Tip:里面需要注意的是为jdk创建软链接!

    2.2 安装Git

    yum install git

    2.3 安装Jenkins

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
    
    sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
    
    yum install jenkins 

      安装完成后提示信息:

      

      默认安装后的端口绑定的是8080,如果你想更改请进入文件编辑JENKINS_PORT属性项。

    vim /etc/sysconfig/jenkins

      如果你使用的是root用户(没有单独创建一个jenkins的用户),那么建议进入上面的配置文件编辑JENKINS_USER属性项将jenkins改为root。

      

    2.4 配置Jenkins

      (1)修改目录权限:

    chown -R root:root /var/lib/jenkins
    chown -R root:root /var/cache/jenkins
    chown -R root:root /var/log/jenkins

      Tip:在 Shell 中,可以使用chown命令来改变文件所有者。chown命令是change owner(改变拥有者)的缩写。-R代表进行递归( recursive )的持续更改,即连同子目录下的所有文件、目录都更新成为这个用户组,常常用在更改某一目录的情况。

      (2)重启Jenkins服务

    service jenkins restart
    ps -ef | grep jenkins

      提示信息如下图所示:

      

      PS:启动Jenkins

    systemctl start jenkins

      验证启动状态:

    systemctl status jenkins

      

    2.5 初始化Jenkins 

      (1)访问http://xxxx:8080/进行Jenkins的解锁

      

      可以通过下面的命令查看管理员密码:

    cat /var/lib/jenkins/secrets/initialAdminPassword

      

      然后把这个密码复制到Web界面中的文本框中去进入下一步

      (2)自定义Jenkins => 这里选择安装推荐的插件

      

      双击之后进入安装过程,耐心等待:

      

      (3)创建管理账户 => 也可以直接使用admin账户继续

      

      (4)安装完成

      

      (5)Jenkins主界面

      

      至此,Jenkins的基本安装与配置就到此结束,下一篇我们会结合ASP.NET Core与Docker来一个持续部署的实例。

    三、小结

      本篇简单介绍了一下持续集成、持续交付与持续部署的基本概念,然后介绍了如何在CentOS7.x下安装Jenkins并初始化Jenkins。下一篇会会结合ASP.NET Core、GitHub与Docker来一个持续部署的实例。

    参考资料

    佚名,《什么是持续集成?该怎么做?

    宋潇男,《不甘寂寞的Jenkins:从持续集成到持续部署

    晓晨Master,《ASP.NET Core & Docker & Jenkins零基础持续集成

    dev_zh,《安装Jenkins遇到的坑

  • 相关阅读:
    Educational Codeforces Round 86 (Rated for Div. 2)
    第十六届东南大学大学生程序设计竞赛(春、夏季)
    Codeforces Round #643 (Div. 2)
    [P3384] 【模板】轻重链剖分
    [BJOI2012] 连连看
    [CF1349C] Orac and Game of Life
    Codeforces Round #641 (Div. 2)
    [TJOI2018] 数学计算
    [CF1157D] N Problems During K Days
    [CF1163C1] Power Transmission (Easy Edition)
  • 原文地址:https://www.cnblogs.com/edisonchou/p/CD_foundation_based_on_jenkins_and_docker.html
Copyright © 2011-2022 走看看