一、 关于持续集成
1.1 什么是持续集成
持续集成, 简称CI(continuous integration).是一种软件开发实践,即团队开发成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
传统瀑布模型(水平划分项目阶段):
持续集成, 简称CI(continuous integration).是一种软件开发实践,即团队开发成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
传统瀑布模型(水平划分项目阶段):
最近项目组上持续集成,于是利用jenkins的docker镜像做二次开发,原本写好的Dockerfile在生成docker image后不小心被误删,一番折腾后终于找了回来。
如下图所示:
使用history命令查询auto-jenkins镜像所执行的所有命令:
利用nodejs在webpack打包完成后自动上传文件到阿里云OSS
项目使用Webpack打包,打包完成后生成一些asset,不管是本地开发还是jenkins持续集成,都希望自动上传这些asset到阿里云OSS,于是用nodejs写一个脚本:
1 | var co = require('co'); |
1 | "scripts": { |
公司前端项目从webpack1.X 升级到webpack2.X,加之技术需求和业务需求增长过快,开发人员没有充足时间深入学习webpack相关技术栈,导致很多配置失效、冗余或者无法辨别究竟有什么用途。
此外,我们基于docker-machine封装了vue、webpack、nodejs等前端开发环境到docker image,docker-machine本身基于Virtual Box,这种虚拟机+Docker的方式又挖了一把大坑。详情见:Docker搭建前端开发环境
综上,几种情况导致我们在docker中使用webpack-dev-server,没办法实时刷新,但在本机开发时却可以。
启动命令为:
Vultr搭建ShadowSocks Python版并开启多用户与BBR
系统:CentOS 7
参考 官网
1 | yum install python-setuptools && easy_install pip |
Hexo安装完成
Git安装完成
Git配置(Git Bash)
1 | git config --global user.name "你的用户名" |
Git SSH Keys(Git Bash)
1 | cd ~ |
Hexo安装hexo-deployer-git插件
新建用户
1 | useradd git |
创建authorized_keys
1 | su git |
安装Git和Nginx
1 | su #切换root |
创建Git仓库目录
1 | su git |
创建网站目录
1 | su # 切换root |
配置Git Hook
1 | su git |
1 | !/bin/bash |
赋予执行权限
1 | chmod +x post-receive |
禁止Git用户登陆控制台
1 | su //切换root |
配置Nginx
1 | vi /etc/nginx/conf.d/hexo.conf #内容如下 |
1 | server { |
重启Nginx
1 | systemctl restart nginx |
不知不觉搭进去大半个月,终于要迎来这个系列最后一篇文章。这段时间仿佛又回到几年前折腾android刷机的时候。不得不说,年纪大了真折腾不动。那么闲话少说直接开搞:
Streaming (串流处理) 是指透过网际网路传输数位音讯或视讯。
说简单点,就是把设备A的音视频通过网络在设备B上展示,同时设备B无需安装、存储、下载和等待。
往前说,得说到互联网刚普及时出现的流媒体Streaming Media,让用户脱离下载等待,实现边下边看。给你们两个“古董”感受一下:rmvb和Real Player
上篇文章说到梅林固件的基础配置,大部分路由器系统都可以参考。这次专门来说一说路由器实战应用–搭建一个小型NAS。
Network Attached Storage 是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。
说简单点就是以存储为核心功能的电脑。既然以存储为核心功能,那么就是能接入多块硬盘或其他存储介质,能下载、上传、共享和管理数据。
目前市面上家用最多的就是Synology(群晖)了,它可能长这样: