ci

[ci]jenkins-slave的添加(vm模式,通过ssh和jnlp)

淺唱寂寞╮ 提交于 2020-01-06 00:06:11
jenkins-slave的添加-在vm上通过jnlp方式 参考: http://www.cnblogs.com/sparkdev/p/7102622.html 下载 slave.jar和slave-agent.jnlp 启动slave(slave事先要安装好java) java -jar slave.jar -jnlpUrl http://192.168.xx:8080/computer/no2/slave-agent.jnlp -secret b9bfa768bd36e622cb883fc4edf5553042a7c8190793e4658ef9a0692599437d -workDir "/data/jenkins" 查看节点状态 可以执行shell命令 缺点: 需要在slave端手动下载slave-agent.jnlp和slave.jar 需要在slave端手动java -jar 启动 jenkins-slave的添加-在vm上通过ssh用户名密码方式--推荐方法(最佳实践) 参考: http://blog.csdn.net/jiang1986829/article/details/51141731 slave上看进程,发现就是java -jar 启动了个slave.jar包. 用新添加的node构建一个项目 node('no2'){ git "https://github

一个比CBitmap更优秀的类 -- CImage类

烈酒焚心 提交于 2020-01-01 01:26:21
Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。如果想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码,未免过于繁琐. 现在,.net引入了一个功能非常强大的新类 ----- CImage.有了CImage类,Visual C++在图像方面的缺憾将一去不复返。CImage是MFC和ATL共享的新类,它能从外部磁盘中调入一个JPEG、GIF、BMP和PNG格式的图像文件加以显示,而且这些文件格式可以相互转换。例如通过简单的几句,就可以实现CImage类和CBitmap类实例的: HBITMAP hBitmap=image.Detach(); CBitmap bmp; bmp.Attach(hBitmap); 这样一来,就又回归到以前操纵CBitmap的方式了.CImage本身封装了DIB(设备无关位图)的功能,因而能够处理每个位图像素。 它具有下列最酷特性:   1、AlphaBlend支持像素级的颜色混合,从而实现透明和半透明的效果。   2、PlgBlt能使一个矩形区域的位图映射到一个平行四边形区域中,而且还可能使用位屏蔽操作。   3、TransparentBlt在目标区域中产生透明图像

使用 Travis-CI 持续集成部署 HEXO 博客项目

不打扰是莪最后的温柔 提交于 2019-12-31 07:56:54
What is Travis CI? Travis CI CI(Continuous Integration)翻译为持续集成。Travis CI是一个提供持续集成功能的平台,在Github上,可以添加Travis CI,当有code push时候,会推送通知到Travis,根据设置的脚本运行指定任务。 目前有两个站点: Travis.org 对于所有public项目完全免费 Travics.com 只针对private项目,提供更多一些额外功能,如cache,并行build个数 两个站点只能看到各自的项目,不能通用。 Why we need Travis CI? 有人可能会有疑问: 在本地写完博客,直接一个命令hexo d,不就搞定了么, 为啥要费力搞CI? 的确, 想用TravisCI来自动部署Hexo博客程序,需要不少设置(瞎折腾),为了给大伙信心,列举一些优点: 优点1:直接在线编辑文件,立即生效 假设你已经发表了一篇文章,过了几天你在朋友机器上浏览发现有几个明显的错别字,对于有强迫症的,这是不能容忍的。 但你手头又没有完整的hexo+nodejs+git的开发环境,重新下载git,node,hexo配置会花费不少时间,特别不划算。 如果按照这篇完整折腾完,你可以直接用浏览器访问github个人项目仓库,直接编辑那篇post的原md文件,前后2分钟改完。 稍等片刻

背包问题总结

◇◆丶佛笑我妖孽 提交于 2019-12-30 00:43:35
刷到背包了,背包是一类问题,开 个总 结记录贴 1 01 背包问题 题意:有N 件物品和一个容量为V 的背包。放入第i 件物品耗费的费用是Ci,得到的价值是Wi。求解将哪些物品装入背包可使价值总和最大 思路: 用子问题定义状态:即f[i,v] 表示前i 件物品恰放入一个容量为v 的背包可以获得的最大价值。则其状态转移方程便是:               f[i,v]=max(f[i,v],f[i-1,v-ci]+wi) 伪代码 通过递减顺序V~0,我们可以在每个i循环完后得到最终的状态,即可以省略i 对于恰好装满背包,需要初始化为负无穷 对于只要求最大价值的,需要初始化为0 例题:poj 3624 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 using namespace std; 6 int dp[13500]; 7 int w[13500],v[13500]; 8 int main() 9 { 10 int n,W; 11 #ifndef ONLINE_JUDGE 12 freopen("1.in","r",stdin); 13 #endif 14 while(scanf("%d%d",&n,&W)!=EOF) 15 { 16 int i,j,k; 17

利用VSTS跟Kubernetes整合进行CI/CD

时光总嘲笑我的痴心妄想 提交于 2019-12-29 07:07:33
为什么VSTS要搭配Kubernetes? 通常我们在开发管理软件项目的时候都会碰到一个很头痛的问题,就是开发、测试、生产环境不一致,导致开发人员和测试人员甚至和运维吵架。 因为常见的物理环境甚至云环境中,这些部署环境都是由运维人员提前准备好的。每次更新代码版本,都要很小心的在几个环境之前修改不同的参数配置,一不小心就将生产环境的数据库连接到了测试库,或者日志文件的地址写到了一个不存在的盘符里等等各种异常情况,有了Kubernetes这样微服务编排框架,我们可以通过代码的形式描述服务的架构,描述服务之间的依赖关系,做到了 Infrastructure As Code。这样可以大大减少了开发运维之间在做环境切换时带来的额外成本。 将VSTS的持续集成能力和持续发布能力整合Kubernetes,可以让项目团队更容易发现和改进代码(这时候的Infrastructure也已经是代码了)的问题,真正将精力放在改进用户体验和改进产品品质上。 准备VSTS管理环境 首先我们需要到 www.visualstudio.com 下申请好的VSTS账号,然后在账号下创建一个用Git作为代码管理的项目 创建好项目后我们就可以利用git clone将代码库同步到本地开发服务器上面来,构建开发人员的workspace 准备Docker Registry和Kubernetes环境 2.准备一个私有的Docker

贝叶斯决策理论(1)

蹲街弑〆低调 提交于 2019-12-26 18:11:41
  数据来自于一个不完全清楚的过程。以投掷硬币为例,严格意义上讲,我们无法预测任意一次投硬币的结果是正面还是反面,只能谈论正面或反面出现的概率。在投掷过程中有大量会影响结果的不可观测的变量,比如投掷的姿势、力度、方向,甚至风速和地面的材质都会影响结果。也许这些变量实际上是可以观测的,但我们对这些变量对结果的影响缺乏必要的认知,所以退而求其次,把投掷硬币作为一个随机过程来建模,并用概率理论对其进行分析。      概率有时也被解释为频率或可信度,但是在日常生活中,人们讨论的概率经常包含着主观的因素,并不总是能等同于频率或可信度。比如有人分析中国足球队打进下次世界杯的概率是10%,并不是说出现的频率是10%,因为下次比赛还没有开始。我们实际上是说这个结果出现的可能性,由于是主观的,因此不同的人将给出不同的概率。   在数学上,概率研究的是随机现象背后的客观规律。我们对随机没有兴趣,感兴趣的是通过大量随机试验总结出的数学模型。当某个试验可以在完全相同的条件下不断重复时,对于任意事件E(试验的可能结果的集合,事件是集合,不是动作),结果在出现在E中的次数占比趋近于某个常量,这个常数极限是事件E的概率,用P(E)表示。   我们需要对现实世界建模,将现实世界的动作映射为函数,动作结果映射为数。比如把投硬币看作f(z),z是影响结果的一系列不可观测的变量,x 表示投硬币的结果,x = f(z)

CI等MVC框架中为什么不能有index控制器的原因

回眸只為那壹抹淺笑 提交于 2019-12-26 11:37:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 因为 类名称是index 而方法又是index,这样index函数就是php4中的构造函数,即实例化类时,直接执行这个函数而没有执行父类的构造函数,也就没有初始化CI核心类。所以会提示没有定义属性或方法了。 用index类名也可以,在 public function index() 方法前加上,调用父类的构造方法 public function __construct() { parent::__construct(); } 这个原理是:当类中同时存在php4和php5的构造函数时,只执行php5 的 __construct();。 当在index方法中加上 parent::__construct()又会出现什么呢? function index() { parent::__construct(); $this->load->view('.......'); } 重复执行了两次 index方法。第一次php4的构造函数,第二次CI的index方法。 大家可以试试!特在此写下以加深理解和记忆。 来源: oschina 链接: https://my.oschina.net/u/659844/blog/95017

图文详解k8s自动化持续集成之GitLab CI/CD

守給你的承諾、 提交于 2019-12-25 18:17:41
前言 持续集成的好处主要有两个: 快速发现错误   每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易 防止分支大幅偏离主干   如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。 一、环境准备 首先需要有一台 GitLab 服务器,然后需要有个项目;这里示例项目以 golang 项目为例,然后最好有一台专门用来 Build 的机器,实际生产中如果 Build 任务不频繁可适当用一些业务机器进行 Build;本文示例所有组件将采用 Docker 启动, GitLab HA 等不在本文阐述范围内 Docker Version : 1.13.1 GitLab Version : 10.1.4-ce.0 GitLab Runner Version : 10.1.0 二、GitLab CI 简介 GitLab CI 是 GitLab 默认集成的 CI 功能 ,GitLab CI 通过在项目内 .gitlab-ci.yaml 配置文件读取 CI 任务并进行相应处理;GitLab CI 通过其称为 GitLab Runner 的 Agent 端进行 build 操作;Runner

php codeigniter

喜欢而已 提交于 2019-12-25 18:13:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1、CI是什么 CI的全称是CodeIgniter, 一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它可以为 PHP 程序员建立功能完善的 Web 应用程序。基于MVC设计模式,轻量易学,注重安全,文档健全,有丰富的类库。 2、CI能做什么 CI提供了许多丰富的类库,比如文件上传、图片处理、文件压缩、邮件发送等。这些类库的存在大大减低了开发的难度与周期,也减少了整合外部类库的需求。能快速高效的开发各种web应用: 比如电子商务网站、SNS、论坛、内容管理系统(CMS)、客户关系管理系统(CRM)等等。 3、MVC 入口文件:唯一一个让浏览器直接请求的脚本文件 控制器controller:协调模型和视图 模型model:提供数据,保存数据 视图view:只负责显示、表单... 动作action:是控制器中方法,用于被浏览器请求 4、CI中的mvc 访问url使用的是pathinfo:入口文件.php/控制器/动作 application目录中:controllers(控制器)、models(模型)、views(视图) 5、c(控制器)。 不需要加后缀; 文件名全部小写(例如:user.php); 所有控制器,直接或间接继承自CI_Controller类; 控制器中,对动作(方法)要求

使用 CodeIgniter 框架快速开发 PHP 应用(七)

北城余情 提交于 2019-12-25 18:12:51
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> CodeIgniter 和对象 这是玩家章节。它讲述的是 CodeIgniter 的工作原理,也就是揭开CI头上'神秘的面纱'。如果你是 CI 的新手,你可能想要跳过它。不过, 迟早, 你可能想要了解CI的幕后在发生什么 ,为什么不真正的玩转它呢? 当我刚开始使用 CodeIgniter 的时候,对象使我迷惑。 我是在使用 PHP 4的时候接触CI的, PHP4并不是真正的面向对象的语言。我在一大堆对象和方法、属性和继承,还有封装等数据结构中转悠,总是被类似的出错信息包围 " 调用非对象的成员函数". 我如此频繁地看到它们,因此我想到要印一件T恤衫,上写: 神秘,无规律可循, 而我仿佛正穿着它站在一个现代艺术展会的会场上。 这一章的内容包含CI使用对象的方法, 和你OO编程的方法。 顺便说一下,术语 '变量/属性', '方法/函数'是等义的,当 CI 和 PHP 经常会混着使用它们。比如,你在你的控制器中写一个 '函数', 纯 OO 程序员会称他们是'方法'。你称之为类的变量而纯OO程序员会叫它们‘属性’。 面向对象编程 我正在假定你和我一样有 OOP 的基本知识, 但如果只是在PHP4中尝试过可能还不太够。 PHP 4 不是一种 OO 语言, 虽然具备了一些 OO 的特征。 PHP 5 会更好一些,