开源软件名称(OpenSource Name):Hzy0913/gulp-push
开源软件地址(OpenSource Url):https://github.com/Hzy0913/gulp-push
开源编程语言(OpenSource Language):
JavaScript
100.0%
开源软件介绍(OpenSource Introduction):用gulp配合git进行代码部署上传
在项目中我们经常会需要先执行打包命令(比如npm run build),再进行git部署,此时我们就需要进行多步操作,显然会很繁琐。使用这个gulp脚本即可完成一行命令打包部署,并且可以自定义commit内容。
具体代码可以看我githubhttps://github.com/Hzy0913/gulp-push
安装
克隆项目
git clone [email protected]:Hzy0913/gulp-push.git
安装依赖
npm install
具体实现代码
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)
gulp
2.自定义commit内容push代码到远程仓库 等同于(git add * +git commit -m 's' +git push)
gulp -a 自定义commit
3.打包后push代码到远程仓库 等同于(build完成后 git add * +git commit -m 自定义 +git push)
gulp b
4.自定义commit内容push代码到远程仓库(build后 git add * +git commit -m 自定义 +git push)
gulp b -a 自定义commit
5.更新远程代码仓库(git pull)
gulp p
自定义commit命令并打包上传(在你的git bash命令行中)
代码仓库已更新
|
请发表评论