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.环境说明 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.什么是Nexus? 在前面进行maven项目的构建中,可以看到在构建的过程中需要安装maven的依赖插件,如图: 而在maven的默认配置中是在官网的中央仓库和第三方的maven仓库进行下载,速度偏慢.这里提供阿里云的maven插件库(http://maven.aliyun.com/nexus/#view-repositories),可以在/data/apache-maven-3.5.2/conf/settings.xml 配置文件中进行修改. 在日常的开发构建中,我们也可以自己搭建一个私有…
一.什么是持续集成? (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.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[…
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 ~]…
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…
一.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-->访问控制-->授权…
使用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…
命令行测试 [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]# " &…
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…
一.部署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…
上一章我们已经知道了如果启动redis服务器,现在我们来学习一下,以及如何用客户端连接服务器.接下来我们来学习一下查看操作服务器的命令. 服务器命令: 1.info——当前redis服务器信息   server:一般redis服务器信息,包含以下域:         redis_version:redis服务器版本号         redis_git_sha1:Git SHA1         redis_git_dirty:Git dirty flag         os:redis服务器…
环境配置 jenkins java环境 yum install -y java 安装jenkins wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key yum install jenkins 配置jenkins端口 vi /etc/sysconfig/j…
一.前言 今天,我来教大家如何点亮led,这也是学习开发板最基础的步骤了. 二.原理分析 cc2530芯片跟虽然是51的内核,但是它跟51单片机还是有区别的,51单片机不需要对IO口进行配置,而cc2530芯片却需要对IO口进行配置,才能对它进行赋值,需要配置的寄存器有PXSEL,PXDIR,PXINP,x可以代表任意IO口,如P1SEL. 下面介绍PXSEL的功能: 下面介绍PXDIR的功能: 下面介绍PXINP的功能: 通过配置以上寄存器的,就可以控制IO口德输入输出状态,是否做为普通IO口…
这个月装逼有点少了,为什么呢,因为去考软件射鸡师了,快到儿童节了,赶紧写篇博纪念一下逝去的青春,唔,请忽略这句话. 二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这样的,可以放心的扫,这只是我的博客主页链接啦: 关于QR码编码的二维码,我们要知道几个特点: 1. 扫描时可以从各个角度去扫,也就是旋转多少度都没关系,不信吗?下次去肯德基买单试试咯. 2. 二维码有容错率,容错率越大,生成的二维码也就越复杂,但是越不容易出错,并且,当二维码被遮挡的时候也越容易扫描…
今天主要学习了列表,python的列表真的事太强大了,由于内容比较多,今天就先简单的介绍一下新学的几个成员函数吧. 首先我们要了解list是一种序列类型,其构造方式有四种形式: (1)空列表 [] (2)直接添加元素 [a] [a,b,c] (3)使用列表解析 [x for x in iterable] (4)使用构造函数 list() or list(iterable) 成员函数: append() 在末尾添加一个元素 extend() 以列表的形式在末尾添加 insert() 两个参数,第一…
发布思路:从 github 拉取一些文件,然后推送到 Target server 的某个目录. 准备 1. Jenkins 需要安装的插件:『 Publish over SSH 』 2. 全局配置:系统管理 --> 系统设置 --> Publish over SSH 创建项目 1.  新建 --> Enter Item Name --> 构建一个自由风格的自由风格的项目 --> OK 2. Git 信息配置 3. 构建配置 以上,一个简单的发布就配置好了,接下来进行构建,看看…
一.概念. Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spring…
一.创建配置文件 如图所示,我们在resources文件夹中新建配置文件application.yml   结构图 二.一些基本配置 server: port: 8090 //配置端口 session-timeout: 30 tomcat.max-threads: 0 tomcat.uri-encoding: UTF-8 spring: datasource: //数据库配置 url : jdbc:mysql://localhost:3306/newbirds username : root p…
前言: 原本计划这次写一下搭建eureka群集.但是发现上次写的只是服务的注册,忘了写服务的发现,所以这次先把服务发现补上去. 我们基于上篇文章,再新建两个.net core web api项目,分别起名为order_one,order_two, 作为两个订单服务.我们以order_one为例. 同理先使用nuget添加Pivotal.Discovery.ClientCore库. Startup.cs 中添加 public void ConfigureServices(IServiceColle…
看react.js对我来说真的不是难不难的问题,问题是我的思路太难转变了,真是坑死我了,react里面的坑也很多.算了,这些抱怨没啥用,记录一下今天学习的内容. 今天看了to-do-list经典示例 总结起来可以概括为 1.首先划分组件:父组件--子组件 2.显示数据:创建初始数据,并将数据显示到页面上 3.创建函数:①:添加函数,输入框中输入数据,显示到页面上 ②:删除函数,点击删除按钮,将该条数据删除 代码有很多,一会给一个链接,自己看就行,没必要我重新复制 其中踩过的坑: 1. 首先就是版…
本节重点 理解什么是变量? 掌握各种数据类型 理解可变类型和不可变类型 一.变量和常量 变量: 作用:存贮程序的中间结果在内存里,以备后边的程序调用 定义规范: 变量名只能是 字母.数字活下划线的任意组合 变量名的第一个字符不能是数字 python中的关键字不能作为变量名 命名习惯: 驼峰体  FilePath 下划线体  file_path(官方推荐) 不建议的命名习惯: 变量名为中文.拼音 变量名过长 变量名词不达意 与c#对比:不需要定义变量的类型 变量的应用: a=1 b=a # 给变量…
关于关键字的一个概述 Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构,关键字不能用做变量名.方法名.类名.包名. Java常见的关键字 标识符 什么是标识符? 标识符就是程序员在定义Java程序时,自定义的一些名字,就比如class后的名字.类名就属于标识符的一种.标识符除了应用在类名上,还可以用在变量.函数名.包名上. 标识符的命名规范 标识符由26个英文字符大小写.数字.下划线和美元符号组成的 不能以数字开头,不能使关键字 严格区分大小写 标识符…
上一篇jquery实现checkbox的全选,得到了一些朋友的建议,其中插件的定义我的确不太清楚,也闹了个笑话,有些朋友建议我去看<锋利的Jquery>,说实话正在看了.由于正在学习中,我就想把项目中经常要用的jquery效果自己写成通用方法,可以在大家的帮助下完善这些方法,也可以让不会的了解到一种做法,最后 形成自己的Jquery 方法库,方便以后的使用,这些例子都是我自己写的,没有参考,所以有很多地方需要改进. 1:为什么要写这个方法 在项目中,一些table都要设置样式,为了样式的美观,…
(二)Axure rp的线框图元件 l  图片 图片元件拖入编辑区后,可以通过双击选择本地磁盘中的图片,将图片载入到编辑区,axure会自动提示将大图片进行优化,以避免原型文件过大:选择图片时可以选择图片原始大小,或保持图片元件的大小. l  文本 在网页中文本的名称是lable,用于页面中添加说明文字.文字连接,或一些动态的提示. l  矩形 矩形的应用比较广泛,比如作为页面的背景.按钮.以及一些元件的遮盖等:矩形的形状可以通过鼠标右键点击–编辑选项—改变形状,来变成我们需要的形状,比如做选项…