用gulp配合git進行一行命令代碼打包而且部署上傳

用gulp配合git進行代碼部署上傳

在項目中咱們常常會想要在本地完成編譯後(好比npm run build),再進行git部署,此時咱們就須要進行多步操做,顯然會很繁瑣。使用這個gulp腳本便可完成一行命令打包部署,而且能夠自定義commit內容。
Githubjavascript

安裝

克隆項目

git clone git@github.com:Hzy0913/gulp-push.gitjava

安裝依賴

npm installgit

具體實現代碼

var gulp = require('gulp');
var exec = require('child_process').exec;
var gulpSequence = require('gulp-sequence')
var argv = require('minimist')(process.argv.slice(2));

//RUN  npm run build   打包命令(按照你項目的打包命令配置)
gulp.task('build', function (cb) {
    exec('npm run build', function (err, stdout, stderr) {
        cb(err);
    });
});

// cmd back 返回上一層
gulp.task('back', function (cb) {
    exec('cd ..', function (err, stdout, stderr) {
        cb(err);
    });
});

// add   等同於執行 git add * 命令(具體能夠本身配置,如 add -A或者add .)
gulp.task('add', function (cb) {
  exec('git add *', function (err, stdout, stderr) {
    cb(err);
  });
});


// push  執行git push 操做
gulp.task('push', function (cb) {
  exec('git push', function (err, stdout, stderr) {
    cb(err);
  });
});

// pull  執行git pull 操做
gulp.task('pull', function (cb) {
  exec('git pull', function (err, stdout, stderr) {
    cb(err);
  });
});

// commit   附加自定義commit的push操做
var commitdefault='s'
gulp.task('commit', function (cb) {
  if(!argv.a){
    commitcon=commitdefault
  }else {
    var commitcon=argv.a
  }
  exec('git commit -m '+commitcon, function (err, stdout, stderr) {
    cb(err);
  });
});


//**********************具體使用命令*****************************

//  默認  gulp 命令推送到倉庫  (如需自定義 commit  執行  gulp -a 自定義commit)
gulp.task( 'default', gulpSequence( 'add','commit', 'push'));

//    gulp b 命令執行build打包,而且推送到倉庫 (如需自定義 commit  執行  gulp b -a 自定義commit)
gulp.task( 'b', gulpSequence( 'build','add', 'commit', 'push'));

//    gulp p 命令更新遠程倉庫
gulp.task( 'p', gulpSequence('pull'));

使用命令(____注意命令須要在你的Git Bash 中使用____)

1.__直接push代碼到遠程倉庫__(git add * +git commit -m 's' +git push)
gulpgithub

2.__自定義commit內容push代碼到遠程倉庫__(git add * +git commit -m 's' +git push)
gulp -a 自定義commitnpm

3.__打包後push代碼到遠程倉庫__(build後 git add * +git commit -m 自定義 +git push)
gulp bgulp

4.__自定義commit內容push代碼到遠程倉庫__(build後 git add * +git commit -m 自定義 +git push)
gulp b -a 自定義commitbash

5.__更新遠程代碼倉庫__(git pull)
gulp pui

自定義commit命令並打包上傳(在你的git bash命令行中)
spa

代碼倉庫已更新

具體代碼能夠看我githubhttps://github.com/Hzy0913/gulp-push命令行

相關文章
相關標籤/搜索