ci

Jenkins与Docker的自动化CI/CD实战

北城余情 提交于 2019-12-01 07:48:54
在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署、交付(CD)。本文基于Jenkins+Docker+Git实现一套CI自动化发布流程。 一、发布流程设计 工作流程: 开发人员提交代码到Git版本仓库; Jenkins人工/定时触发项目构建; Jenkins拉取代码、代码编码、打包镜像、推送到镜像仓库; Jenkins在Docker主机创建容器并发布。 环境规划如下: | 角色 | IP | | :-------- | ::--------:| | Jenkins/Docker | 192.168.0.217 | | Docker | 192.168.0.218 | | Git/Registry | 192.168.0.219 | 操作系统:CentOS7.4 二、部署Git仓库 # yum install git -y 创建Git用户并设置密码 # useradd git # passwd git 创建仓库 # su - git # mkdir solo.git # cd solo.git # git --bare init 访问创建的这个仓库 # git clone git@192.168.0.212:/home/git/solo.git 三、准备Jenkins环境

C++ 初始化列表

痞子三分冷 提交于 2019-12-01 05:43:13
C++中提供了初始化列表对成员变量进行初始化。   语法规则: class_name::class_name()           m1(v1),m2(v2,v3),m3(v3)         {           .......         } 注意:   成员的初始化顺序,与成员的声明顺序相同。   成员的初始化顺序与初始化列表的位置无关。   初始化列表比构造函数先执行。 测试代码:    #include <stdio.h> class val { private: int i; public: val(int val) { i = val; printf("i = %d\n",i); } }; class Test { private: const int Ci=10; val m1; val m2; public: Test():m2(2),m1(1) { //Ci = 1; printf("Test::Test()\n"); } int get_Ci() { return Ci; } }; int main(int argc, char *argv[]) { Test Ci; printf("Ci = %d\n",Ci.get_Ci()); return 0; }   运行结果:   i = 1 i = 2 Test::Test() Ci = 10

基于ITIL的运维系统(3)——CI说明

谁说胖子不能爱 提交于 2019-12-01 03:21:16
定义 配置项CI是MA2.0的核心概念之一,它将IT基础框架中所有的元素都抽象为同一种对象,通过CI之间的各种关联关系,画出业务服务的网络拓扑图。 服务器设备、机房场地、应用软件、合同、和业务相关的工程师都是CI的一种。 以下是对CI核心的几个要素分别叙述。 标识符 每个CI有唯一标识符,按照固定规则命名,要求简明扼要。 MA2:CI的3级分类+8位序列号,例如某台服务器,其标识符可以是:硬件库_服务器_大型机_8位SN号;某项文档的标识可以是:文档库_项目_设计说明书_YYYYMMDD 分类 分类决定CI涉及的范围和颗粒度;分类层次原则上不要超过3层。 MA2的分类举例,应根据实际情况构建 一级分类 二级分类 三级分类 硬件库 服务器 刀片机 多子星 虚拟机 配件 CPU 内存 硬盘 环境设施 DC机房 机柜 软件库 Http应用 Apache Nginx 数据库 Mysql 消息中间件 CDN软件 LB组件 文档库 代码 设计文档 测试文档 操作手册 服务合同 人力资源库 运维组 开发组 Java组 C组 跨界组 业务服务库 计算云 自动化运维 下图是系统涉及CI的深度和广度的模型图 属性 分为基本属性和扩展属性;下级分类继承上级分类的属性。 基本属性 是对每一个CI都共有的,常见的有: CI唯一编号 CI名称 CI描述 当前状态 创建时间 最近更新时间 最后一次扫描日期

fir.im Weekly

廉价感情. 提交于 2019-11-30 18:04:33
写作是一件苦差事。无论写代码,还是写文章。 关于 Mac 应用开发,国内很少有完整的书籍或教程。最近 @剑指人心 写的 《Mac 应用开发基础教程》终于!完!稿!了! 这本书中对 Mac 平台中应用开发的 AppKit 系统控件做了详细介绍与示例说明,也包涵 Mac 开发常用的公用组件,系统框架,生产力工具,经典的开源项目以及实践经验等,帮助开发者多纬度去理解和掌握 Mac 平台的应用开发。 如果对 Mac App 开发感兴趣,去 这里 看看这本书。 除此之外,本期 fir.im Weekly ,一如往常精选了一些实用的技术分享~ 『 iOS,Android 开发分享』 iOS debug 速查表 iOS 开发者都知道在逆向过程中命令太多完全记不住, @everettjf 就整理了 这个速查表 ,分享给大家。copy and paste就可以愉快的学习其他app的实现。 iOS 启动连续闪退保护方案 来自 微信读书团队博客 分享。 "iOS App 有时可能遇到启动必 crash 的绝境:每次打开 App 都闪退,无法正常使用App。为了尝试解决这个问题,微信读书开发了 iOS 连续闪退保护工具: GYBootingProtection ,检测连续闪退,在连续闪退出现时,尝试自修复 App." 这篇文章 探讨了连续闪退问题的产生原因、检测、修复机制,以及如何在你的项目中引入

CI Weekly #5 | 微服务架构下的持续部署与交付

孤街醉人 提交于 2019-11-30 18:02:49
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成、持续交付,持续部署、自动化测试、 DevOps 等实践教程、工具与资源,以及一些工程师文化相关的程序员 Tips 。同步于 flow.ci Blog、微信公众号、 官方微博 , 知乎专栏 , 简书 ,欢迎关注或投稿:) 上周,我们对 flow.ci 做了比较多的功能优化: 1、iOS 项目持续集成 iOS 项目支持 Carthage 依赖管理; 去除 iOS 项目中自动管理证书设置,防止 Xcode8 编译失; 解决 xcodebuild 接口返回数据问题; 2、代码仓库授权 代码仓库重新授权优化; 分支处理优化; 3、其他 增加在线问题反馈; Build 邮件问题 Bug 修复; 任务的 Step 状态显示问题修复; 详细见 更新日志 ,有问题可通过「在线消息」或去 Gitter群 反馈 :) 本期 CI Weekly 整理了关于微服务架构下的持续部署与交付、自动化测试、DevOps相关的技术实践,欢迎提出意见~ 『 Docker/ 持续集成/持续部署相关实践 』 微服务架构下的开发部署实践 本文将从以下几个方面简要说明微服务架构项目的实践经验:架构选型、开发测试环境下的相关工具支持、人员分工及开发部署流程、相关设计及注意事项。 (via : 知乎: 无为2016 )

Scrapy-爬取安智市场app详情

荒凉一梦 提交于 2019-11-30 13:02:08
前言 本篇文章是利用Scrapy扒取安智市场的app详情页,如点击查看 和平精英 ,包括app名、版本号、图标icon、分类、时间、大小、下载量、作者、简介、更新说明、软件截图、精彩内容等,扒取的图片资源icon和市场展示图(app截图)下载到本地,并将所有数据存储到数据库。 考虑的问题: 存储的数据库设计 图片资源链接存在重定向 下载app的图标需为.png后缀 ... 需要先熟悉Scrapy框架的同学: 点击学习 数据库设计 创建的为mysql数据库,名称为 app_anzhigame ,表名为 games ,安智市场的市场图限制为4-5张,简介等为1500字以内,图片均为相对地址 # 建库 CREATE DATABASE app_anzhigame CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; USE app_anzhigame; DROP TABLE games; # 建表 CREATE TABLE games( id INTEGER(11) UNSIGNED AUTO_INCREMENT COLLATE utf8mb4_general_ci, name VARCHAR(20) NOT NULL COLLATE utf8mb4_general_ci COMMENT '游戏名' , versionCode VARCHAR(10)

树链剖分

拥有回忆 提交于 2019-11-30 12:26:46
自从漫长暑假的两次培训由于某些原因就再没整理过博客 仔细分析一下qbxt的教学模式已经内容,无非就是讲知识点,讲题目罢了,而且为了赶进度,速度也非常快 那么把qbxt整理博客拆分成若干的知识整理博客以及题目整理博客,而非以往的单纯罗列知识点的,对于那些难题写一写口胡思路但是对其算法没有进行实现,甚至不了解该算法的"八股博客"(我只是在说我自己的),两者相比学习效果要差太多了 所以以后的博客整理将侧重知识点的梳理,而非罗列我本身也尽量避免"八股"的出现, 做到言之有物,整之有理,观之有效 我尽量8 好,废话不再说一些(临沂口音) 树剖 前置芝士: 树的基本操作(邻接表,树上dfs啥的), 基本的 线段树 (要求充分理解并熟练掌握), LCA 基本思路(理解为什么要选尽量深的节点跳) 后两个不懂的我博客都有哈! 一些问题: 树剖是啥? 废话,树链剖分 树剖就是通过某种算法对树上信息进行整理,使树上的查询更加方便的算法 树剖的具体目的? 主体思路是将树拆分成有着某种特定性质的区间,使得这个(或这些)区间可以利用数据结构进行处理,以实现用数据结构进行树上信息维护和查询 怎么实现? 急嘛?这篇博客就是要讲这个啊?! 正文: 下面来讲理论以及实现方式 首先入门需要知道这样几个变量: 第一组: int fa[N],son[N],dep[N],size[N]; fa[]的意义很明确

Docker Gitlab CI 部署 Spring Boot 项目

微笑、不失礼 提交于 2019-11-30 11:55:00
目前在学习这一块的内容,但是可能每个人环境都不同,导致找不到一篇博客能够完全操作下来没有错误的,所以自己也写一下,记录一下整个搭建的过程。 Docker 的安装这里就不赘述了,基本上几行命令都可以了,不会的可以搜一下其他的博客。我本地使用的环境如下: Ubuntu16.04 Docker19.03 管理工具:IDEA Docker 插件 下面详细讲一下部署的过程。 前言 阅读这篇博客的朋友关注点应该在 Gitlab CI 上,因此假设大家对 Docker 和 Gitlab 本身是有一定的了解,掌握基本使用的。 对于 CI/CD 以及 Gitlab CI,这里也没打算展开讲,本文的目的在于实战,如果想对 CI/CD 概念以及 Gitlab CI 当中的内容有兴趣的可以阅读参考文献 1-2。 安装 Gitlab CE 和 Gitlab Runner 这里推荐在 Linux 系统下学习 Docker,随着镜像和容器在使用上的复杂性越来越来,Win 下出现的坑会越来越多的。Gitlab CE 的搭建很简单,直接使用官方的镜像 docker run 就可以了。但是在我们这里由于还需要部署 Runner,多个容器的管理,使用 Docker-Compose 会更好,因此这里采用它来进行。 可参考我之前写的文章, 解决 Windows Docker 安装 Gitlab Volume 权限问题

SM4密码算法matlab实现

只愿长相守 提交于 2019-11-30 11:14:57
%function C=SM4(X,K,M) %M为1时进行加密,M为0时进行解密操作,X为明文/密文输入,K为密钥输入 X='0123456789abcdeffedcba9876543210'; %X='681edf34d206965e86b3e94f536e4246'; K='0123456789abcdeffedcba9876543210'; M=1; %****************X输入明文************* XB=[]; A=zeros(36,32); for i=1:32 Xi=X(i); XBi=['0000',dec2bin(hex2dec(Xi))]; XBi=XBi(end-3:end); XBi=[str2num(XBi(1)),str2num(XBi(2)),str2num(XBi(3)),str2num(XBi(4))]; XB=[XB,XBi]; if rem(i,8)==0 A(ceil(i/8),:)=XB; XB=[]; end end %****************K输入密钥*********** KB=[]; MK=zeros(4,32); for i=1:32 Ki=K(i); KBi=['0000',dec2bin(hex2dec(Ki))]; KBi=KBi(end-3:end); KBi=[str2num(KBi(1))

Python爬取多点商城整站商品数据

筅森魡賤 提交于 2019-11-30 05:46:52
Python爬取多点商城整站步骤介绍: 1、Python开发工具pycharm安装,Python-3.6.4(Mac、Windows)即可,PHPStudy/XMAPP集成环境搭建(其他集成环境也可); 2、展示多点商城设计特点图; 3、列出分析爬取多点整站思维导图; 4、需求分析; 5、爬取操作过程; 6、编写代码; 7、表结构设计,代码经过多次修改健壮无比,导出sql文件使用即可; 8、注意事项(申明) 多点商城设计特点图 ① 首先我们先浏览下多点商城页面,展示图如下: ② 我们主要关注爬取页设计结构,对应上图中的分类模块,分类模块包含了多点商城全部数据,我们只爬取分类模块就可以了,展示图如下: 三、列出分析爬取多点整站思维导图 在文章开头列出了很多疑问,我们应该怎么样获取我们需要的数据那,这部分我们用思维导图来列出我们需要做的事情,思维导图会更加清晰的理清我们的思路,思维导图如下: 四、需求分析 多点商城中的商品信息比较全面,符合我们工作需求,多点商城中商品图片很是清晰,商品包括的信息全面:商品名字、商品展示图、商品详情轮播图、商品规格参数、商品介绍图、商品分类、品牌brand、商品唯一对应的skuid、商品分类id、猜你喜欢商品图、商品价格等等。 ① 获取到数据录入sql数据表设计展示如下: ② 本地数据展示图 设置好自己的域名以后,可以远程或者本地连接自己的数据库(商品库