一、概述 本文是关于 Naki Code Interface 工具(以下简称CI)的介绍,阅读这篇文章,了解一下与CI有关的信息。...二、什么是CI CI 是一个PDMS二次开发插件,用于实现正向做采购编码,执行一套简易的、可维护的编码规则,根据规则生成物资编码(以下简称CC码)和采购编码(以下简称PN码),编码信息写入PDMS等级元件属性...三、CI的前世今生 在物料管理系统开发和应用过程中我们深受编码缺失之苦,编码缺失的主要原因有二,一是材料编码正向做比较困难,二是工作步骤有问题。...还有一个额外的意义就是:CI系统最终会形成一个公司级的CC码库和PN码库,一旦形成独立的数据库,也就意味着我们可以通过开发数据接口的方式取用里面的材料编码信息,进行材料的选型和匹配,这就解决了部分材料在...CI只是一个辅助工具,它的作用是更方便地做质量更好的编码,并不能从根源上解决设计阶段材料编码缺失的问题,要最大限度消除“模型未建,量表先出”现象,才是治本的办法。
持续集成(CI)在软件开发中是一个流行的技术,特别是伴随着微服务以及devops,这个名词被吵得更火了,在各种大会上人们都会谈到他们自己是怎么玩的,而且持续集成的工具也有很多。...三个问题验证CI 但是我们都知道,任何正规的技术最后都需要一个认证程序。幸运的是,现在已经存在了。 下面的一个有趣的问卷调查据说就算是一个认证程序。...以下的场景是我们从Martin Fowler的文章中找到的。 说有个叫Jez Humble的总是喜欢通过如下几个问题来衡量团队们是不是在做持续集成,团队们做的持续集成到底算不算真正的持续集成。...通过创建快速的反馈循环,并让开发人员小批量地工作,CI可以让团队保证他们的软件质量,从而降低持续软件开发的成本,并提高团队的生产力和产出物的质量。 总之,看了上面那么多,你也许发现了。...CI具有如下属性: 只有一个Repository 自动build 自动测试 每个人至少每天提交代码到主干 每次commit都应该在一个集成机器上build主干 短时间修复构建遇到的问题 保证短时间内可完成
nodejs 所需的核心库 动手写 core code 邮件配置 WebHooks 配置 这次自己写了一个基于 nodejs 的自动化部署的工具,因为之前在用 jenkins 由于 jenkins 比较强大...附上一个之前写的文章 gitee + webhooks + jenkins 实现自动化部署 原理与 jenkins 类似,也是受益于 jenkins 的启发,自己写了一个 nodejs 部署工具 TIP...本次仓库环境是 gitee ,但是只要有 webhooks 就都可以部署 gitlab 有自己的 gitlab CI 很不错的 github 也有 travis-ci 等等开源自动化部署工具 #nodejs...git 仓库地址" FOLDER="clone 远程仓库下来的文件夹位置" DEPLOY_FOLDER="你要部署到服务器的文件夹位置" rm -rf ${FOLDER} git clone -b..." ', // sender address to: '要接受人的邮件', // list of receivers subject: '【项目】部署邮件', // Subject
这一篇,我们实践一下,如何通过Gitlab-runner进行持续集成 使用gitlab-runner进行持续集成与部署的关键在于 .gitlab-ci.yml文件的使用,该文件类似于Jenkins中的...Jenkinsfile,按顺序的执行我们预定义的每一个步骤(stage),然后通过对应的stage执行相关的shell或者其他指令,动手实践一下 首先创建一个git仓库,在仓库中添加一个 .gitlab-ci.yml...注意,上面的关键在于tags,如果没有指定tags的话,这里就会在出现被卡主stuck的错误,这是因为匹配不到合适的gitlab-runner,正如上图,我们使用的是default这个Tag,所以在.gitlab-ci.yml...文件的stage中一定要指明,出现的错误如下图: 这里还要注意一点,我们需要编辑一下gitlab-runner,把创建的git仓库加入到gitlab-runner中 此时我们在左侧的CI/CD下面的...Pipeline的页面中点击run pipeline,就会出现如下图: 这里就是简单的持续集成了。
在之前编写过CI与Gitlab的整合应用,下来主要详细的介绍使用Gitlab工具的CI的可持续应用。...搭建好Gitlab的环境好后,我们需要在Linux的环境安装Gitlab的插件gitlab-ci,安装命令为: curl -L https://packages.gitlab.com/install/repositories...下来再进行插件的安装,安装的命令为: yum install gitlab-ci-multi-runner -y 执行后,输出的信息为: Loaded plugins: fastestmirror Loading...下来进行gitlab-ci的注册,注册需要获取到具体的URL和TOKEN的信息,步骤为: 打开项目 在项目里面选择settings里面的CICD 然后选择Runners,如下所示: 下来在服务端操作...下面来看是否注册成功,具体如下: 在Gitlab的CICD中也就能看到刚才注册成功的CI的信息了,截图如下: 下来在具体的项目里面增加一个.gitlab-ci.yml的文件来进行,文件内容为: stages
3.使用gitlab的CI/CD中pipelines进行部署 整个持续集成和持续部署的流程如下: ?...1)创建该项目所需要的runner 有的时候我们不同的项目常常需要不同的包,为了避免我们的gitlab-ci服务器上的环境比较杂乱,因此我们可以使用docker来当作runner的executor,因此我们给该项目创建了三个...打开gitlab-ci服务器,可以看到 打开CI/CD里面的pipelines可以看到每一个job的运行情况和日志,当我们看到日志中有如下情况时,则证明python2.7的运行环境已经准备好了 ?...,则证明整个ci阶段是通过的 ?...4 完整的CI/CD流程 ?
移除 URL 中的 index.php 默认情况,你的 URL 中会包含 index.php 文件: example.com/index.php/news/article/my_article 如果你的...下面是这个文件的一个例子, 其中使用了 “否定条件” 来排除某些不需要重定向的项目(比如不需要后台登录的网站,这时候不需要单一入口进行验证,所以不需要每次都经过index.php文件): RewriteEngine...-d RewriteRule ^(.*)$ index.php/$1 [L] 在上面的例子中,除已存在的目录和文件,其他的 HTTP 请求都会经过你的 index.php 文件。...然后通过你设置的 trigger 关键字来访问你的控制器和方法: index.php?...分段格式的 URL 。
术语“持续集成”和“持续交付”经常一起使用,以至于很容易忘记它们之间的区别。 许多人将 CI 与 CD 混淆,本文做了清晰的讲解。...CI/CD 中的 CI 代表持续集成(Continuous Integration),即持续地将代码合并到源代码控制中的主分支。...CI/CD中的CD代表持续交付,是一种基于写软件的原则的软件交付方法,确保软件随时可以部署。...CI 过程以源代码为中心,面向开发人员,而部署则是围绕工件和环境的更广泛的协作。 许多团队越来越将 CI 视为 CD,这给他们带来了头疼。...如果您想知道您的银行账户余额,您不想打电话给您的银行;您想立即自助查询答案。您的部署也一样。 解耦的 CI 和 CD 会更好 “CI/CD”中间的斜杠是自然界罕见的解耦机会之一。
GitLab-CI 是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如 Jenkins)。...而且GitLab8.0以后的版本是默认集成了GitLab-CI并且默认启用的。...项目根目录增加 .gitlab-ci.yml 文件 配置一个 Runner GitLab-Runner GitLab-Runner 是配合 GitLab-CI 进行使用的。...当这个工程的仓库代码发生变动时,比如有人 push 了代码,GitLab 就会将这个变动通知 GitLab-CI。...这时 GitLab-CI 会找出与这个工程相关联的Runner,并通知这些Runner把代码更新到本地并执行预定义好的执行脚本。 ?
Travis CI 提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。...持续集成的好处在于,每次代码的小幅变更,就能看到运行结果,从而不断累积小的变更,而不是在开发周期结束时,一下子合并一大块代码。...This is where Travis CI comes in. 我们的目标是通过以较小的增量开发和测试来构建更健康的软件。 这就是 Travis CI 的用武之地。...deploy: provider: pages skip_cleanup: true github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard...参考 持续集成服务 Travis CI 教程 - 阮一峰的网络日志 http://www.ruanyifeng.com/blog/2017/12/travis_ci_tutorial.html
~~~ 其实我看服务器的response Content-Type:text/html; charset=gb2312 我看到了不想看的内容!!!!!...忽然想起ci的output类找代码看看set_content_type和set_header 我在我控制集成的父类添加了 $this->output->set_header(“Content-Type:
使用 drone CI 已有小半年,在将原有项目的 CI 系统从 jenkins 向 drone 迁移的时候,也陆陆续续遇到了一些问题。...在这段时间,也完成了使用官方插件到插件定制的转变,使得 drone CI 流程更贴合我们 devops 开发流程。...插件开发 针对这个问题,我们对 drone 进行了定制化开发,会在每次提交代码后,对新提交的代码和老代码进行比较,筛选出做了修改的子项目,然后对有修改的子项目尽心 CI ,其余的子项目则不进行发布。...而以上的方式仅适用于测试环境的快速迭代,生产环境则采用 tag 的模式,针对不同的子项目,打不同前缀的 tag ,比如子项目为 test1 ,则打 test1-v0.0.1 的 tag,就会对该子项目进行生产发布...的 drone 插件,基本可以满足我们现在的 CI 需求,但随着 drone 的深入使用,越来越多的问题将会暴露出来。
在上一篇C#Make自动化构建-简介中,简单的介绍了下Cake的脚本如何编写以及通过Powershell在本地运行Cake脚本。本篇在此基础上,介绍下如何在CI环境中使用Cake。 1....在不同的CI环境中执行相同的自动构建 cake的目的在于一次编写,可以运行在不同的构建环境和构建工具中。同时可以把构建脚本纳入到源代码管理中,而不是编写在某一特定的ci/cd工具中。...借助Github提供的很多免费的CI服务,我在https://github.com/linianhui/cake.example上接入了3个CI服务。 ?...3.2 Cake with Travis Travis提供有linux的ci环境,同样的我们添加一个 .travis.yml 文件然后关联Travis的服务即可。...总结 以上简单的介绍了一下Cake的简介信息,和如何再不同的CI环境中使用Cake来维护一个相同的自动化构建的流程。如有错误,欢迎指正!
Nginx支持PHP的CI框架 1.找到CI库的配置文件修改 $config['base_url'] = 'http://test.example.com'; $config['uri_protocol
1.何为域名 人和人要互相识别和记忆,需要名字作为辅助,而对于网络世界,在因特网内也需要一种命名系统来做类似的事情,该系统使用了域来划分,任何一个网络里的主机(或者路由器)都有独一无二的域名(类似国家代码...),域又能继续划分为子域(类似每个国家有不同的省份代码),子域还能继续划分(每个省都有自己的各个城市的代码)……在因特网内对应的就是顶级域名(com,net,cn,org等),二级域名……注意这仅仅是一种逻辑的划分...www是表示万维网,不属于域名 2.域名的树结构’ 3.域名服务器 DNS服务器管理范围的单位是区,不是域,因为区才是DNS服务器管理的实际范围,区是域的子集,同一个区里的主机节点必须互通,它们都有一个统一的访问权限...DNS服务器也是类似域名空间树一样的树结构,依次分为根域名服务器(知道所有的顶级域名服务器的域名和IP,最重要,它要是瘫痪,整个DNS就完蛋),然后是顶级域名服务器(管理二级域名),其次是权限域名服务器...(负责区的域名服务器)。
从一次“构建变慢“的调查说起 在周二的时候,突然有人发现”马来西亚“的部署流程开始变慢,其中构建过程从上周的的7分钟左右变成了44分钟。而同样的代码改动,其它国家的服务器并没有如此大的差异。...比如把 CI 上的关键信息发送出去,后果则不堪设想…… 那么问题来了,这段脚本是如何进入CI的? 通过网上搜索相关线索(https://groups.google.com/forum/#!...及时保留相关连的第三方系统的访问日志。 5. 找出这台服务器上所有的 口令,秘钥等,并立即更换。 6. 终端其它 CI 服务器的运作,并立即进行安全排查。 7....如果持续集成服务器实现了内外网完全隔离,采用跳板机并限制 Jenkins 对外访问,这次的攻击完全可以避免。 在#安全基础# 避免CI成为一个安全隐患一文中,由于 CI 具有自动执行任务的能力。...不要为了采取便利的方案留下了很深的安全隐患。创建漏洞往往来源于不小心,而找到漏洞则需要花费更大的周折。采用一些通用的安全实践,往往会得到更好的效果。
优化开发者时间并减少上下文切换 长时间CI检查,我的意思是超过3分钟的(CI),消耗团队中的每个开发人员的大量时间。 让我们来比较下“好”和”坏“的工作流程。...“好”的工作流程: 你提交并推送你的代码 CI构建和测试运行1到3分钟 在这1到3分钟内,你可以查看下手头的任务,在某些管理工具中查看状态,或者再次查看代码 在3分钟内,你获得CI(返回的)成功状态:你可以继续执行下一部分任务...如果你的代码库组织得很好,这将是重大的成功。 强制缩短时间来限制你的CI检查的好处在于它使你从根本上改善整个开发过程。...但是这不是我们感兴趣的内容。如果你知道自己在做什么,那么你推送的代码已经很有可能生效了。你的CI工具应该验证的是你的分支和主分支合并正常。...你的CI工具应该执行分支到主分支的本地合并,并针对该分支来运行构建和测试。如果主分支在此期间没有变化,则可以自动合并你的分支。如果确实发生了更改,则应该再次运行CI检查,直到你的代码可以安全合并为止。
我使用的是自建的gitlab服务器,服务器上的证书差了一个属性。
场景 有的时候更换电脑则需要重新安装gitbook环境,甚是麻烦,有没有比较好的方法,类似Github,我只需要上传编写好代码,上传上去就好了? 这里就不得不说GitLab CI的强大之处了。...直接使用CI部署GitBook的环境,简单快速方便。 GitLab CI 之前,结合官方文档先了解一些持续集成相关的概念。...一般来说,构建任务都会占用很多的系统资源 (譬如编译代码),而 GitLab CI 又是 GitLab 的一部分,如果由 GitLab CI 来运行构建任务的话,在执行构建任务的时候,GitLab 的性能会大幅下降...GitLab CI 最大的作用是管理各个项目的构建状态,因此,运行构建任务这种浪费资源的事情就交给 GitLab Runner 来做拉!...GitLab CI构建 CI代表持续项目集成,简单点说就是自动化构建,编译。
在这个 Travis CI 教程中,学习如何设置流行的持续集成服务,并与 GitHub 集成,以便自动运行测试。...使用 Travis CI 自动化测试 使用 Travis CI 自动化测试 你有 99 个问题,测试就是其中之一!...什么是时间紧迫的开发人员呢? 持续集成 值得庆幸的是,持续集成 可以节省一天。持续集成(通常缩写为 CI)是在提交更改时自动构建和运行测试的过程。...和我一起向宇宙大喊:必须有一个更简单的方法! Travis CI 幸运的是,宇宙听到了我们,并回答了 Travis CI。 什么是 Travis CI?...Travis OS X CI 环境文档,有助于确定 OS X 上默认环境中包含或未包含的内容,以及您可以在 .travis.yml 文件中访问的库存环境变量。
领取专属 10元无门槛券
手把手带您无忧上云