文档章节

项目需要,shell脚本自动化替换文档内容,并提交代码

爱coding
 爱coding
发布于 2017/10/31 10:53
字数 729
阅读 106
收藏 1

项目需要,shell脚本自动化替换文档内容,并提交代码

#!/bin/bash

if [ ! $commitTag ]; then
  echo "commitTag IS NULL"
  exit
fi

echo ".........................push code start ..............................."
#root根目录
#rootPath=/Users/user/git/myelong
rootPath=/home/hudson/workspace
#前端最后一次提交commit,参入传入
#commitTag=316cb08031dc96c185d35d934d0264374255d95b
#后端项目空壳分支,由CI系统传入
#branch=b171102

#定义文件模版路径,即各个需要替换前端资源的模版文件路径
templatePath=$rootPath'/h5-hotelwxqb-web/src/main/resources/template'
#定义文件产出路径,即最终提交git的文件路径
outputPath=$rootPath'/h5-hotelwxqb-web/src/main/resources/config'

#从git上拉项目到本地,前端项目和后端项目都需要拉下来
cd $rootPath
#拉前端项目
git clone http://code.corp.elong.com/xy-team/hotelfx-static-resource-reference.git
cd hotelfx-static-resource-reference
git init
git checkout $commitTag

#前端首页js代码文本
indexJSTxt=$(cat index.js)
#前端列表页js代码文本
listJsTxt=$(cat list.js)
#前端快速预定列表页js代码文本
flistJsTxt=$(cat flist.js)
#前端详情页js代码文本
detailJsTxt=$(cat detail.js)
#前端订单填写页js代码文本
createOderJsTxt=$(cat createorder.js)

#拉后端项目
cd $rootPath
git clone git@code.corp.elong.com:h5-website/h5-hotelwxqb-web.git
cd h5-hotelwxqb-web
git init
git checkout $branch
git pull

#替换首页前端资源
replace_index(){
    #定义本地文件路径
    sourceFile=$templatePath/index.txt
    destFile=$outputPath/spamvtbody2_alpha.txt
    destFile2=$outputPath/spamvtbody2_beta.txt
    #复制本地文件模版文件,修改目标文件内容
    cat $sourceFile > $destFile
    echo $indexJSTxt >> $destFile
    cp $destFile $destFile2
}

#替换列表页前端资源
replace_list(){
    #从本地列表页模版文件替换前端资源路径,生成新列表页配置文件
    sourceFile=$templatePath/list.txt
    sourceFootFile=$templatePath/foot.txt
    destFile=$outputPath/webapp-config-list.xml
    #复制本地文件模版文件,修改目标文件内容
    cat $sourceFile > $destFile
    echo $listJsTxt >> $destFile
    cat $sourceFootFile >> $destFile
}

#替换快速预定前端资源
replace_flist(){
    #从本地列表页模版文件替换前端资源路径,生成新列表页配置文件
    sourceFile=$templatePath/flist.txt
    sourceFootFile=$templatePath/foot.txt
    destFile=$outputPath/webapp-config-flist.xml
    #复制本地文件模版文件,修改目标文件内容
    cat $sourceFile > $destFile
    echo $flistJsTxt >> $destFile
    cat $sourceFootFile >> $destFile
}

#替换详情页前端资源
replace_detail(){
    #从本地详情页模版文件替换前端资源路径,生成新详情页配置文件
    sourceFile=$templatePath/detail.txt
    sourceFootFile=$templatePath/foot.txt
    destFile=$outputPath/webapp-config-detail.xml
    #复制本地文件模版文件,修改目标文件内容
    cat $sourceFile > $destFile
    echo $detailJsTxt >> $destFile
    cat $sourceFootFile >> $destFile
}

#替换订单填写页前端资源
replace_createorder(){
    #从本地订单填写页模版文件替换前端资源路径,生成新订单填写页配置文件
    sourceFile=$templatePath/createorder.txt
    sourceFootFile=$templatePath/foot.txt
    destFile=$outputPath/webapp-config-createorder.xml
    #复制本地文件模版文件,修改目标文件内容
    cat $sourceFile > $destFile
    echo $createOderJsTxt >> $destFile
    cat $sourceFootFile >> $destFile
}

#替换程序里的各个页面前端资源代码
replace_index
replace_list
replace_flist
replace_detail
replace_createorder

#代码提交到git上
git add -A
git commit -am 'update web script '$branch
#git pull
git push origin $branch
echo ".........................push code end ..............................."

#删除前端资源项目
cd $rootPath
rm -rf H5_JAVA_GIT_HOTELWXQB_WEB
mv h5-hotelwxqb-web H5_JAVA_GIT_HOTELWXQB_WEB
rm -rf hotelfx-static-resource-reference

© 著作权归作者所有

爱coding
粉丝 25
博文 53
码字总数 30196
作品 0
昌平
程序员
私信 提问
加载中

评论(0)

gitlab-ci自动集成

本文档是用rpm包安装的,如需源码安装请参考文档: https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md 环境: gitlab服务器:10.0.10.50 centos7.3 gitlab-run......

lava0525
2017/06/16
0
0
使用jenkins实现tomcat自动化部署

1.下载jenkins的war包 wget "http://mirrors.jenkins.io/war-stable/latest/jenkins.war" 2.启动jenkins程序 nohup java -jar jenkins.war --httpPort=52201 &>> /root/jenkins.log & 3.访问......

信酱v
2017/06/06
0
0
一键上传代码—shell脚本

0.前言 在开发过程中,项目的编写还是修改是必不可少的,需要我们多次部署代码到仿真,线上,虽然不是我们的事,但是我们需要不断的打包,多麻烦,使用shell脚本帮你轻松搞定,上传到你想上传...

旧丶时候
2017/12/25
0
0
自动化测试selenium在小公司的成功实践

前言 可能提到自动化测试selenium,大家都会想到用python语言来编写脚本。但我们选择了java语言,因为我相信大部分公司java程序员比python程序员多得多。而对于很多测试人员,并不能熟练使用...

邵磊
2018/06/17
0
0
SHELL在日常运维中使用的案例分享

各位好,我选定的方向是主动运维,本次选择分享的主题是“SHELL在日常运维中使用的案例分享”,探讨一些流程框架类的东西,篇幅有限没有深入到SHELL的细枝末节,主要是分享在日常工作中SHELL...

amount1234
2018/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

广州哪里有开餐饮费发票

广州开餐饮费发票发票电薇13564998196陈晨100 % 真。从主业来看,2019年众诚保险围绕车险业务采取增设分支机构、加强合作、优化用户体验等动作,但综合成本率仍有所上行,业内指出,车险的价...

枅票微fp2090
20分钟前
13
0
深圳哪里有开餐饮费发票

深圳开餐饮费发票发票电薇13564998196陈晨100 % 真。从主业来看,2019年众诚保险围绕车险业务采取增设分支机构、加强合作、优化用户体验等动作,但综合成本率仍有所上行,业内指出,车险的价...

枅票嶶fp2090
23分钟前
13
0
略谈分布式系统中的容器设计模式

本文作者:zytan_cocoa 略谈分布式系统中的容器设计模式 谭中意 2020/3/5 前言:云原生(Cloud Native)不仅仅是趋势,更是现在进行时,它是构建现代的,可弹性伸缩的,快速迭代的计算网络服...

百度开发者中心
03/11
21
0
OSChina 周三乱弹 —— 小姐姐的领带有点带歪了,请帮忙正一下

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《アイタクテ -voice & piano-》- 和紗 手机党少年们想听歌,请使劲儿戳(这里) ...

小小编辑
今天
25
0
对象名称前的单下划线和双下划线是什么意思?

问题: Can someone please explain the exact meaning of having leading underscores before an object's name in Python? 有人可以解释一下在Python中对象名称前加下划线的确切含义吗? ......

技术盛宴
今天
29
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部