1.创建Group,User,Project 创建一个组,组名为java Group path http://192.168.56.11/java Visibility Level: #为权限级别,一般使用Private Private Internal Public 创建一个PM的用户作为项目管理者并加入到java组内 创建一个项目: 创建dev1和dev2的用户作为开发者,并加入到项目中  2.测试dev1,dev2拉取代码库 ()生成ssh-key [root@linux-node1 ~]…
1.安装依赖及gitlab [root@linux-node1 ~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix [root@linux-node1 ~]# systemctl start postfix 2.安装gitlab 由于国内网络偏慢,这里使用清华大学的镜像源进行安装gitlab-ce [root@linux-node1 ~]# cat /etc/yum.repos.d/gitl…
一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成.每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误.许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件. (2)没有持续集成 项目做模块集成的时候,发现很多借口都不通==>浪费大量时间 需要手动去编译打包最新的代码==>构建过程不透明…
一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 maven是属于Apache的开源项目 maven主要服务于java平台的构建.依赖管理.项目管理. 二.手动安装MAVEN ()下载maven [root@linux-node2 ~]# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3…
思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-->Credentials-->System-->Global credentials(unrestricted)-->Add Credentials 1.Kind选择Gitlab API token 2.其中API token填写gitlab中有库权限的账号 3.ID填写用户账号 gi…
一.新建一台虚拟机安装tomcat ()安装JDK 官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载jdk8,放到/usr/local/src/目录下 [root@linux-node3 ~]# tar -zxvf jdk-8u151-linux-x64.tar.gz [root@linux-node3 ~]# .0_151 /usr/local/jdk1.…
目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机进行开发测试 3.修改index.html文件 4.提交代码 5.发布代码 6.测试访问 7.回滚测试 一.环境说明和准备 1.环境说明 主机名 IP地址 角色 系统 deploy-server 192.168.56.12 发布 Centos 7.4 web 192.168.56.13 web服务器…
1.GIT基础    GIT是一个分布式版本管理系统,速度快,适合大规模,跨地区多人协同开.SVN是一个集中式版本管理系统. (1)GIT生态 GIT分布式版本管理系统 Gitlab git私库解决方案 Github git公有库解决方案  (2)Git安装 Centos: yum install -y git Ubuntu: apt-get install git Windows安装git bash Linux编译安装 注意不要使用git 1.8以下版本,推荐使用2.7版本 ①编译安装git[…
gitlab的备份和恢复 (1)创建备份目录,并授权 [root@linux-node1 ~]# mkdir /data/backups/gitlab -p [root@linux-node1 ~]# chown -R git.git /data/ [root@linux-node1 ~]# ll /data/ -d drwxr-xr-x git git Dec : /data/ (2)修改gitlab配置 [root@linux-node1 ~]# vim /etc/gitlab/gitlab…
使用git+jenkins实现持续集成 Step1:构建一个自由风格的php-deploy Step2:Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿 Step3:源码管理:这里使用git插件,也可以使用svn插件 将git路径存在这里还需要权限认证,否则会出现error .jenkins服务器上生成SSH-Key [root@linux-node2 ~]# yum install -y git [root@linux-node2 ~]# ssh-keygen Genera…
一.Jenkins的远程管理 Jenkins的远程管理方式包含: Shell ssh SSH Plugin ansible.saltstack (1)Shell ssh在项目构建时,jenkins使用了Execute Shell直接对远程主机操作,同步了代码到主机192.168.56.11上,并且可以增加对远程机器进行操作.例如执行某个脚本:ssh root@192.168.53.11 "/bin/sh /data/scripts/****.sh "如图: (2)SSH plugin除…
一.Jenkins按角色授权 当一个公司的开发分为多个组别,或者是多个项目等等.用于公司内部测试,让开发人员自行构建测试,此时不可能让所有的开发都在公用一个构建,这样变得很混乱,为了解决这一问题,jenkins也提供了角色授权的机制.每个开发有着对应的账号和权限,可以自行新建,构建,测试,发布等.角色授权需要安装的插件:Role-based Authorization Strategy (1)系统配置系统管理-->Configure Global Security-->访问控制-->授权…
命令行测试 [root@linux-node1 ~]# mkdir testing [root@linux-node1 ~]# [root@linux-node1 ~]# cd testing/ [root@linux-node1 testing]# [root@linux-node1 testing]# git init Initialized empty Git repository in /root/testing/.git/ [root@linux-node1 testing]# " &…
1.什么是Nexus? 在前面进行maven项目的构建中,可以看到在构建的过程中需要安装maven的依赖插件,如图: 而在maven的默认配置中是在官网的中央仓库和第三方的maven仓库进行下载,速度偏慢.这里提供阿里云的maven插件库(http://maven.aliyun.com/nexus/#view-repositories),可以在/data/apache-maven-3.5.2/conf/settings.xml 配置文件中进行修改. 在日常的开发构建中,我们也可以自己搭建一个私有…
Gitlab+Jenkins基础篇 Gitlab+Jenkins学习之路(一)之Git基础 Gitlab+Jenkins学习之路(二)之gitlab部署 Gitlab+Jenkins学习之路(三)之gitlab权限管理--issue管理 Gitlab+Jenkins学习之路(四)之gitlab备份和恢复 Gitlab+Jenkins学习之路(五)之git merge和git rebase的区别 Gitlab+Jenkins学习之路(六)之Jenkins部署.升级和备份 Gitlab+Jenkin…
来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了(还不是很全):Windows.zip  目录: 获取控件句柄 模拟键盘和鼠标 文本框赋值 操作DateTimePicker控件 操作TreeView控件 识别简单验证码 判断按钮状态 正文: 一丶怎么获取每个控件的句柄 第一种是使用FindWindow和FindWindowEx两个API结合使用,…
Home / Qt 学习之路 2 / Qt 学习之路 2(11):布局管理器 Qt 学习之路 2(11):布局管理器  豆子  2012年9月4日  Qt 学习之路 2  70条评论 所谓 GUI 界面,归根结底,就是一堆组件的叠加.我们创建一个窗口,把按钮放上面,把图标放上面,这样就成了一个界面.在放置时,组件的位置尤其重要.我们必须要指定组件放在哪里,以便窗口能够按照我们需要的方式进行渲染.这就涉及到组件定位的机制.Qt 提供了两种组件定位机制:绝对定位和布局定位. 顾名思义,绝对定位就是一…
一.部署gitlab gitlab部署我采用的是docker的方式,这种方式的优势是方便:之前部署过非docker的gitlab,需要配置安装许多东西,太麻烦,还是docker部署方便,从官网pull下来,直接已启就ok了: 官方gitlab容器链接:https://docs.gitlab.com/omnibus/docker/README.html 1.export GITLAB_HOME=/usr/local/gitlab 先配置临时环境变量,这步可省略,但是第二步要写绝对路径: 2.doc…
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     我们就从上到下来理解一下这些配置信息中的某些配置:     1.dbfilename是本地持久化存储数据库文件名,默认为dump.rdb.我可以在安装目录文件夹下找到这个文件.     2.requirepass是密码,即连接服务器的密码,默认为空.下面我来设置一个密码然后用带密码的命令连接一遍.…
一.删除测试项目 先进入项目,选择编辑项目 二.拉取到最下方,移除项目 三 输入你要删除的项目名称 二 创建Group,User,Project 2.1 创建一个组,组名为java Group path http://10.0.0.12/java Visibility Level: #为权限级别,一般使用Private Private Internal Public group里面的用户会集成项目的权限,所以组里面一般只添加管理员和项目经理的权限,后面在单独给某个项目分配权限. 2.2 创建用户…
一.前言 通过前一次的实验,相信大家都已经对cc2530程序的编写有了一定的认识,这次我们来操作和实验的是cc2530上的按键模块. 二.原理分析 我们先来看一下按键的原理图: 根据原理图我们可以得出,按键不按下的时候值为0,因为接地,所以,按键要被按下的时候,BUT1和BUT2输入值为1,当检测到它们为1时,按键就为按下的状态,因为P0DIR默认的状态是输入,所以不需要配置IO寄存器,当按键按下时,改变led的状态,来验证实验. 三.程序 #define LED1 P1_0      //LE…
这段时间园子里讲了一些关于VS的快捷键以及一些配置技巧,挺好的,大家一起学习,一起进步. 这段时间重点看了一下关于VS调试技巧方面的书,在此记录一下学习的内容吧,主要还是一些比较浅显的知识. 1. 调试窗口  当调试的时候我们需要清晰的看到变量的值,可以使用调试窗口显示变量的值. 快捷键:ctrl + Alt + W,1(先同时按ctrl + Alt +W,然后在按1) 好处:可以很清晰的把变量的值显示出来,当我们要查看实例里面某一个属性的值就需要这样做了, 你也可以移动鼠标到实例然后点+展开查…
(三)Axure rp元件的触发事件 l  OnClick(点击时): 鼠标点击事件,除了动态面板的所有的其他元件的点击时触发.比如点击按钮. l  OnMouseEnter(鼠标移入时): 鼠标进入到某个元件范围时触发,比如当鼠标移到某张图片时显示该图片的介绍. l  OnMouseOut(鼠标移出时): 鼠标离开某个元件范围时触发.比如鼠标离开图片时,图片介绍消失. l  OnKeyUp(按键弹起时): 文本框(单行与多行)编辑时,键盘按下某一个按键松开时触发,不支持其他axure元件.比如…
最近一直在优化项目的性能,就在前几天找到了一些资料,终于有方案了,那就是压缩数据. 一丶前端和后端的压缩和解压缩流程 二丶优点和缺点 优点:①字符串的压缩率能够达到70%-80%左右 ②字符串数量更少了 缺点:①CPU的开销会大一点,不过在可承受范围之内 三丶通过标记来说明数据是否压缩过 这个一开始是没有想到,是经理提醒我的,通过在数据(字符串)的最前端添加一个标记来说明数据是否压缩过. 因为只有当数据大于一定数量的时候才进行压缩操作. 四丶测试(简单的测试) 环境:1.启动500线程 (相当于…
ios7新添加了自己的游戏开发框架UISpriteKit ,可以用此做一些2D的小游戏, 今天学习了一下SKNode的知识做一下笔记,以便以后查阅. 1.SKNode继承自UIResponder. 2. 3.SKNode的子类 4. 6.坐标系 创建一个Sk模板的项目很简单, 打开xcode5,新建一个工程,在ios Application下选择SpriteKit Game.. 创建后运行可以看到初始效果. 下面讲解自定义SkNode 删除MyScene.h和MyScene.m文件 创建一个He…
发布拓扑 1. 拓扑图 2. 流程说明: Git 插件从 Git Server 上面拉取源代码. Maven 插件将源代码安装我们设定的指令进行编译打包,存放于项目的 WorkSpace. Publish Over SSH 插件将 WorkSpace 中准备好的数据发送到跳板机 跳板机上面的发布脚本将数据同步到 Target Server 3. 细节说明 Maven 如何对代码进行编译打包,这个是开发来提的. Jenkins 可以直接将项目发布到 Target Server,但是我们的生产服务器…
本节重点 彻底掌握字符编码之前的转换关系 掌握 python2 vs python3 上编码的区别 掌握 python2 和python3 上bytes,str 的区别 补充知识点:三元运算 ​三元运算又称为三目运算,是对简单的条件语句的简写,如: ​if 条件成立: ​    ​val = 1 ​else: ​    ​val = 2 ​改写成三元运算: ​val = 1 if 条件成立 else 2 ​C#中的写法 int i = 条件成立?1:2 一.字符编码方式 ASCII 占1个字符,…
学习react.js,知识点整理: 1.props和state: props是相对于父级来说,固定的不会改变的内容.一般会先定义一个变量,则在父级中进行引用, var user = "liumcb"; 定义的组件 <Hello name={user} /> 在组件中进行调用则是 <div>hello {this.props.name}</div> 同样道理,props不仅可以传递字符串,也是可以传递对象的,例如: 定义一个对象 obj={ user:…
前面讲了变量的有关知识,这里对于其他的数据类型就不多作介绍,(和C差不多),因此重点来讨论下切片. 一.切片是引用类型,这里要稍微介绍两个概念:值类型,构造类型和引用类型 1.值类型:是一种由类型的实际值表示的数据类型.如果向一个变量分配值类型,则该变量被附以全新的值的副本,go语言的值类型包括布尔型,整型,浮点型,复数型. 2.构造类型:和c中差不多,包括数组,结构体和字符串 3.引用类型:由类型的实际值引用表示的数据类型.如果为某个变量分配一个引用类型,则该变量将应用原始值,不创建任何副本.…
添加一个动作: Qt 使用QAction类作为动作.QAction包含了图标.菜单文字.快捷键.状态栏文字.浮动帮助等信息.当把一个QAction对象添加到程序中时,Qt 自己选择使用哪个属性来显示,无需我们关心.同时,Qt 能够保证把QAction对象添加到不同的菜单.工具栏时,显示内容是同步的. // !!! Qt 5 // ========== mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWin…