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遇到的坑

  • 相关阅读:
    数据库表结构变动发邮件脚本
    .net程序打包部署
    无法登陆GitHub解决方法
    netbeans 打包生成 jar
    第一次值班
    RHEL6 纯命令行文本界面下安装桌面
    C语言中格式化输出,四舍五入类型问题
    I'm up to my ears
    How to boot ubuntu in text mode instead of graphical(X) mode
    the IP routing table under linux@school
  • 原文地址:https://www.cnblogs.com/edisonchou/p/CD_foundation_based_on_jenkins_and_docker.html
Copyright © 2011-2022 走看看