git 服务器搭建及提交代码检查
2019-01-10 07:47:21来源:博客园 阅读 ()
一、安装 gogs
1、拉取镜像
docker pull gogs/gogs
2、创建数据目录
mkdir -p /var/gogs
3、创建窗口并运行
docker run -d --name=git-gogs -p 10022:22 -p 13000:3000 -v /var/gogs:/data gogs/gogs
4、配置 gogs
浏览器输入 url : http://ip:13000
...
二、提交代码检查
提交代码检查主要是利用 git hooks 来运行脚本,对代码进行提交前的检查,如果检查不通过,则禁止提交。
本交使用的是客户端钩子,工程是用 vue-cli 创建的。
1、安装 pre-git
yarn add pre-git@3.17.0 --dev
2、配置 pre-git
在 package.json 中插入下列代码
"scripts": { "lint": "eslint --ext .js,.vue src test/unit test/e2e/specs", "pre-check": "node verify/commit-check.js && npm run lint" }, "config": { "pre-git": { "enabled": true, "commit-msg": "simple", "pre-commit": [ "npm run pre-check" ], "pre-push": [], "post-commit": [], "post-checkout": [], "post-merge": [] } }
3、编写自定义代码检查脚本
在项目根目录下创建 verify/commit-check.js,此次检查主要实现:强制使用 eslint ,强制文件头部添加注释说明。commit-check.js 内容如下:?
1 const fs = require('fs') 2 const path = require('path') 3 const config = require('../config') 4 ? 5 // 彩色输出错误信息 6 // 开始时使用 chalk 7 // windows 下无效 8 // 有更好的方法欢迎留言 9 function ConsoleLog () {} 10 ConsoleLog.prototype.white = function (info) { 11 console.log('\x1B[37m', info) 12 } 13 ConsoleLog.prototype.green = function (info) { 14 console.log('\x1B[32m', info) 15 } 16 ConsoleLog.prototype.red = function (info) { 17 console.log('\x1B[31m', info) 18 } 19 ? 20 const consoleLog = new ConsoleLog() 21 ? 22 // 检查 eslint 是否打开 23 if (!config.dev.useEslint) { 24 consoleLog.green('###########################') 25 consoleLog.red('ERROR: ' + 'Set config.dev.useEslint = true.') 26 consoleLog.red('请设置 config.dev.useEslint = true.') 27 consoleLog.white('\n') 28 process.exit(1) 29 } else { 30 readDirSync(path.join(__dirname, '../src')) 31 } 32 ? 33 // 检查文件头是否含有注释 34 function checkComments (file) { 35 const extname = path.extname(file) 36 if (extname === '.vue' || extname === '.js') { 37 const lines = fs.readFileSync(file).toString().replace(/(^\s*)|(\s*$)/g, '') 38 if (lines.startsWith('<!--') || lines.startsWith('/*')) { 39 ? 40 } else { 41 consoleLog.green('###########################') 42 consoleLog.red('ERROR: ' + 'Add file header comments.') 43 consoleLog.red('请添加文件头部注释.') 44 consoleLog.white('\n') 45 process.exit(1) 46 } 47 } 48 } 49 // 遍历文件夹 50 function readDirSync (path) { 51 let pa = fs.readdirSync(path) 52 pa.forEach(function (ele) { 53 let info = fs.statSync(path + '/' + ele) 54 if (info.isDirectory()) { 55 readDirSync(path + '/' + ele) 56 } else { 57 checkComments(path + '/' + ele) 58 } 59 }) 60 }
三、测试下
git add . git commit -m "test"
至些,一个简单的提交代码检查脚本就完成了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:倒计时缓存时间问题总结
- vue.js开发环境搭建教程 2020-03-16
- 使用原生node.js搭建HTTP服务器,支持MP4视频、图片传输,支 2019-08-14
- Nuxt项目搭建到发布部署 2019-08-14
- Aspnet Mvc 前后端分离项目手记(四)vue项目的搭建(一)(i 2019-08-14
- vue学习(1) vue-cli 项目搭建 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash