zoukankan      html  css  js  c++  java
  • 浅尝CI/CD,真香


    theme: channing-cyan

    前言:

    大家都在关注devops,关注如何来做持续集成,持续交付,如何来做CI/CD。Jenkins作为持续集成的工具,他其实只是一个平台或者是一个大的框架,它的工作完全就是依靠插件,也就是说你想使用什么功能,你就找到什么样的插件。(别的地方抄来的一段话...)

    1. gitte pages使用

    不知道大家在干一些本地开发而没有服务器的情况下,想部署一个静态网页是怎么做的?
    很多代码平台都有其对应的page功能,类似部署成一个静态网站,比如github的pages或者之前的preview功能,不过github最近貌似很容易连接不上,这时候我把目光放在了gitte pages功能。

    因为只是简单演示,所以我选了一个很早之前的项目 静态页面demo
    这个大家基本都会,我说一下注意点:

    我选择了某个分支(dev)用来部署静态页面,指向这个目录下的index.html,路径要对,不然可能导致访问项目是空的之类
    比如要是打包项目的部署也可以用gitee pages

    仔细看上图就可以看见在引入打包后的js和css是/...这就导致引用路径不对,相对路径同级是./... 所以可以在打包配置那里修改一下
    当然了 这要根据你实际项目去修改,你也可以打包成功手动修改上传 然后重新部署。

    2.jenkins安装

    Linux安装jenkins:
    1. 下载jdk java-1.8.0
      yum install java-1.8.0-openjdk.x86_64
    1. 下载yum install jenkins
      Ps : 这里的jenkins版本过低 所以安装的话推荐另外的方法:
      安装参考链接

    wget https://pkg.jenkins.io/redhat-stable/jenkins-2.176.3-1.1.noarch.rpm

    1. 安装jenkins
      rpm -ih jenkins-2.176.3-1.1.noarch.rpm
    到这安装完成,我用的都是默认配置 改端口之类的我就不说了

    PS:补充一下,我这里安装版本过低 所以导致很多插件下载安装失败,

    yum upgrade jenkins或者yum update jenkins升级一下

    1. 运行jenkins
      systemctl start jenkins.service
      然后打开地址访问jenkins,根据提示下一步就行,输入密码那步查看对应目录下文件内容,按默认插件安装也行,自己进去再安装也是可以。

    清华大学镜像地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    只需要在访问jenkins的网站后面加上exi(退出)/restart(重启)/reload(重新加载)

    3. 简单CI/CD

    需求:创建个钩子去监听deploy分支的push行为,然后自动打包并部署。

    开始jenkins配置,下载好了gitee插件

    添加凭据
    生成wenbhock,等等配置gitee的webhock有用
    这时候可以可以点击gitee的webhock测试
    发现触发构建说明两者联系成功。
    这里我从网上搜了一份自动登录gitee的脚本和自动点击更新gitee pages的脚本,参考一下改成自己对应的

    自动化部署gitee pages脚本
    我在服务器上新建了个文件 发这个脚本代码

    添加构建脚本,执行node test.js

    现在可以push一下代码 看看html页面是否有改变。

    当然咯 以上说的是gitee pages的自动更新部署的思路,pages适合静态网页,比如放一些html的页面的项目。如果是项目部署其实只是把构建脚本改成你对应的,比如我另一个部署在服务器的项目,执行自动打包并部署,接下来有时间说一下服务器项目部署项目和自动打包部署。

    小结

    持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。

    其实我想说 亲自动手试试!亲自动手试试!亲自动手试试!
    自己去试试 多试几次就会了

  • 相关阅读:
    post和get区别
    https
    tcp/ip协议
    webpack与gulp的不同
    什么是webpack
    spring boot 输入参数统一校验
    spring boot++jpa+ mysql +maven
    Intellij IDEA 2018.2.2 SpringBoot热启动 (Maven)
    git 从远程仓克隆到本地新分支
    ASP.NET MVC 自动模型验证
  • 原文地址:https://www.cnblogs.com/wangxiaoer5200/p/14648608.html
Copyright © 2011-2022 走看看