在工作中遇到一个问题,就是发布测试环境的git命令都一样,每次都要重复的敲这些命令,非常的麻烦。

我就琢磨着写了个批处理来做这个事情。目前用起来还不错,大大的节省的时间。

批处理代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
@echo off
cd /d E:\workspace\gateway-client

echo.
echo *************************************************************
echo * GIT 代码提交批处理 - 发布测试环境 *
echo * Author: Veiss Date:2018/3/29 *
echo * 操作步骤: *
echo * 1、git checkout master 切换到Master分支 *
echo * 2、git checkout pre-production 切换到pre-production分支 *
echo * 3、git merge master 合并Master分支内容 *
echo * 4、git add Jenjinsfile 添加Jenjins文件 *
echo * 5、git commit -m '提交描述' 提交到本地仓库 *
echo * 6、git push origin pre-production 提交到远程git服务器 *
echo *************************************************************
echo.
echo.
call:ColorText 注意:如果执行步骤出错,请手动解决,或者使用gitBash执行命令
echo.
echo.

echo git checkout master
git checkout master
echo.

echo git pull origin master
git pull origin master
echo.

echo git checkout pre-production
git checkout pre-production
echo.

echo git merge master
git merge master
echo.

set /p var=请输入Jenkinsfile版本号(Commit提交说明):
echo.
echo 您输入的提交说明为:【%var%】
echo.
pause

echo git add Jenjinsfile
git add Jenjinsfile && git status
echo.

echo git commit -m
git commit -m %var%
echo.

echo git push origin pre-production
git push origin pre-production
echo.

echo 批处理执行完毕!
echo.

::不关闭窗口,以便检查错误信息
cmd /k
pause

:ColorText
::放在代码末尾,调用方法 ColorText 文本
set str=%1
set /p=<nul>%str%
call findstr /a:0c . "%str%*"
del %str%
goto :eof

使用方法也很简单:

第一步:打开E盘,点击发布测试环境.bat (根据情况而定,也可以放到桌面)

第二步:打开文件,输入Jinkensfile版本号,操作如下:

打开sublime,更改版本号。

1
2
3
sh "docker build -t 10.186.25.87:5000/gateway-web:v1.3.2 ."
sh "docker login 10.186.25.87:5000 -u testuser -p testpassword"
sh "docker push 10.186.25.87:5000/gateway-web:v1.3.2"

批处理窗口输入相同的版本号,回车后代码自动提交到git远程仓库。

注意: 如果遇到冲突,请手动解决后在此提交,或者在 git bash中执行相关命令

完成,再也不用敲一大堆的命令了。(^_^)