Skip to content

chongzhi/magix-app-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Magix项目gitlab自动部署工具

This is the tools used for the release of Magix Application

写在最前

简述下这个工具期望的开发流程:
  1、来新需求了,从master 执行`grunt checkout` checkout一个开发用的daily分支,分支名会自动基于当前时间戳
  2、将daily分支名给到开发测试(如0.0.1,即magix所需要的cdn文件路径),在daily分支执行`grunt daily`压缩代码并部署到daily环境,开发测试直接可以看到最新结果
  3、所有开发提测完毕,手动git checkout master回master分支执行grunt publish 即可发布代码到cdn上

使用方法

首次使用

项目配置

配置你项目的package.json如下:

{
  "name": "scafflod",
  "version": "0.0.1", //此version必填,用来自动生成迭代的daily分支名
  "devDependencies": {
    "grunt": "~0.4.1",
    "time-grunt": "^0.3.2",
    "magix-app-build": "",
    "magix-app-deploy": ""
  }
}

配置你的Gruntfile.js 如下即可:

grunt.loadNpmTasks('magix-app-deploy')

ps:此工具基于magix-app-build,请先配置它,工具地址:https://www.npmjs.org/package/magix-app-build

执行npm install

工具使用:

命令集:

  • 【master下】:grunt checkout
    • 从主干checkout一个新分支开发,版本号自动基于当前时间戳
  • 【daily下】: grunt daily
    • 在日常daily分支下开发的时候执行,包含了压缩以及push到daily服务器
  • 【master下】:grunt publish
    • 项目开发完毕正式发布cdn,将代码merge到master,从master执行grunt publish 一键发布,发布完成后会拿到版本号,给到开发即可

Gruntfile.js进阶配置:

//以下配置可全部省略
//从master分支执行 `grunt checkout` 会checkout一个daily分支为当前时间戳版的(此daily分支给测试使用)
checkout: {
  options: {
    setVersion: 'index.html' // 配置是否在checkout daily分支的时候,就将daily分支写入index.html的version中,默认不写入
  }
},

//daily分支下执行 `grunt daily` 会压缩项目代码并push到当前daily分支(daily分支复用)
daily: {
  options: {
    buildName: 'magix' // 配置压缩magix项目代码的命令名,默认名magix(内部会执行grunt magix这种命令,可以配置成你项目适合的压缩命令)
  }
},

//最后从master分支执行 `grunt publish` 发布代码到cdn,留意控制台里的cdn版本号(形如:20141022.210744.131),给到开发测试上线使用
publish: {
  options: {
    buildName: 'magix',
    setVersion: 'index.html'
  }
}

实例参考:

gitlab平台 thx/scaffold 脚手架仓库

About

deploy magix project and release to gitlab cdn

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published