上线代码、回滚代码

上线脚本

#!/bin/bash
FWDIR="$(cd `dirname "${BASH_SOURCE-$0}"`; pwd)"
bin=`dirname "$0"`
bin=`cd "$bin"; pwd`

now=`date "+%Y%m%d_%H%M%S"`

tag_release=di.release.${now}
[email protected]:bdp-server/bdp-di.git

echo -e "\033[32m=====>  build release tag\033[0m"
git clone $repo_url $tag_release

cd $tag_release

#上线分支,如果不传参则上线master
[[ $# -eq 1 ]] && git checkout di_$1

git tag -a ${tag_release} -m "${tag_release} tagged from branch master"
git push origin ${tag_release}
# 提取版本信息
commiter=$(git for-each-ref --format="%(committername)" refs/heads)
release_note=$(git for-each-ref --format="%(committername)@%(refname:short) [%(committerdate:short)] %(contents)" refs/heads)
rm -rf .git

echo -e "\033[32m=====>  stop the old service...\033[0m"
cd $bin/service/bin
bash di.sh stop

echo -e "\033[32m=====>  start new service...\033[0m"
cd $bin
rm -rf service
ln -s ${tag_release} service
cd $bin/service/bin
bash di.sh start

# 发送上线日志邮件
echo -e "${tag_release} 版本上线说明(线上环境)\n==================================\n版本摘要:${release_note} \n上线说明:\n\n1. " > $FWDIR/note.tmp

vi $FWDIR/note.tmp +
mail -s 【BDP-DI上线日志】${tag_release} [email protected] < $FWDIR/note.tmp
rm $FWDIR/note.tmp
回滚脚本

#!/bin/bash

bin=`dirname "$0"`
bin=`cd "$bin"; pwd`

[[ $# -eq 0 ]] && echo "Usage:$0 {version}" && exit 0

version="di.release.$1"

echo -e "\033[32m=====>  stop the old service...\033[0m"
cd $bin/service/bin
bash di.sh stop

echo -e "\033[32m=====>  start new service...\033[0m"
cd $bin
rm -rf service
ln -s ${version} service
cd $bin/service/bin
bash di.sh start

echo -e "\033[32m=====>  success to rollback to $version\033[0m"

#send mail
echo -e ‘BDP-DI版本回滚(线上环境)\n‘‘==================================\n‘‘已回滚至版本:‘${version} | mail -s 【BDP-DI回滚日志】[email protected]
时间: 2024-08-04 14:12:20

上线代码、回滚代码的相关文章

Github 代码回滚

今天代码出了问题,部署到网站上老是报错,说什么system.web.mvc.html 缺乏引用,天知道怎么回事儿,只好把以前的代码找出来:在要回滚代码的文件夹里面,右键==>update to revision ==> 选择对应的版本 即可. 概念: 假设我们有许多个版本,版本号分别是1-10 如果我们在7这里选择revert to this version那么7之后的8,9,10的操作都会被消除 如果在7选择revert changes from this version那么7版本的修改将会

svn代码回滚命令

代码回滚提交: 比如要把73回滚到68 svn merge -r 73:68 http://my.repository.com/my/project/trunk 然后commit就行了 svn commit -m "Reverted to revision 68." 取消对代码的修改分为两种情况: 第一种情况:改动没有被提交(commit). 这种情况下,使用svn revert就能取消之前的修改. svn revert用法如下: # svn revert [-R] something

git用法之[回滚代码]

我们在写代码的任何过程中,都有可能出错,任何过程都有可能要!回!滚!代!码!事关重大!一定要详细讲讲. 一.关于 工作区.暂存区.本地分支: 工作区:即自己当前分支所修改的代码,git add xx 之前的!不包括 git add xx 和 git commit xxx 之后的. 暂存区:已经 git add xxx 进去,且未 git commit xxx 的. 本地分支:已经git commit xxx 提交到本地分支的. 二.遇到想回滚代码时后怎么办? 1.在工作区的代码,被我写乱了,或者

git代码回滚:Reset、Checkout、Revert的选择

代码回滚:Reset.Checkout.Revert的选择 Zhongyi Tong edited this page on Dec 8, 2015 · 5 revisions Pages 19 Home 2.1 快速指南 2.2 创建代码仓库 2.3 保存你的更改 2.4 检查仓库状态 2.5 检出之前的提交 2.6 回滚错误的修改 2.7 重写项目历史 3.2 保持同步 3.3 创建Pull Request 3.4 使用分支 3.5 常见工作流比较 4.1 图解Git命令 5.1 代码合并:

回滚代码

工作中我们时常会遇到回滚代码的需求 分两种情况,push上去了,和没有push(只是commit/add了) 如果没有push上去,命令是 git reset,如果push上去了使用git revert git reset 的功能是回退本地的代码,并不会改变线上的代码,git reset 有3个参数可用 1.git reset --mixed +版本号    暂存区(add区)和提交区(commit区)会回退到某个版本,本地的代码不会改变. 2.git reset --soft +版本号   

6.代码回滚

1.代码修改并提交 我们已经成功地添加并提交了一个helloWorld.txt文件,现在,是时候继续工作了. 于是,我们继续修改helloWorld.txt文件,改成如下内容: $ vi helloWorld.txt $ cat helloWorld.txt hello world ! first:di yi ci xiugai! 现在,运行`git status`命令看看结果: $ git status On branch dev Changes not staged for commit:

gitlab基础命令之代码回滚

#:gitlab状态 [email protected]:~# gitlab-ctl status run: alertmanager: (pid 13305) 215965s; run: log: (pid 13081) 215991s run: gitaly: (pid 13180) 215968s; run: log: (pid 12160) 216098s run: gitlab-monitor: (pid 13241) 215968s; run: log: (pid 12828) 21

关于调用方有事务,被调用的SP中也有事务,在嵌套SP中回滚代码的报错处理,好文推荐

SQL报错异常:Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 1, current count = 0. --首先明确一点,在SQL中开启事务时,Begin Tran时,@@TRANCOUNT会加1,Commit Tran时@@TRANCOUNT会减1,但是当ROLLBACK TRAN时会把@@TranCount直接设置

Git回滚代码暴力法

Git回滚有多种方式,这里使用的是[强制提交到远程分支] 效果为:如回滚前的提交记录是 1.2.3.4,使用这种方法回滚到2,那么提交记录就变成了1.2. 操作方法: 需要在本地的Git仓库,右键选择[Git Bash],输入reset --hard 命令 $ git reset --hard commit-id $ git push -f origin currentBranch 第一句作用是恢复到指定的版本,commit-id替换为对应的版本编号,在下面介绍如何获取 第二句的作用是把当前分支