首页 > 系统相关 >shell自动拉取远程仓库和部署代码

shell自动拉取远程仓库和部署代码

时间:2023-07-13 18:22:26浏览次数:35  
标签:pull code sh echo git shell 拉取 远程

#!/bin/bash
# 定义一个函数
function check_and_update_code() {
    # 获取本地提交标识
    LOCAL=$(git rev-parse HEAD)
    # 获取远程提交标识
    REMOTE=$(git rev-parse origin/$1)
    
    # 如果本地和远程不一致。则代表有更新了
    if [ $LOCAL != $REMOTE ]; then
        # 执行更新逻辑。 
        echo "Detected new code submission"
        echo "Pulling the code..."
        git checkout $1
        git pull origin $1
        echo "Restarting Server..."
    else
        # 没有更新
        echo "No new commits."
    fi
}
while true; do
    # 调用函数 把$1传入进去
    check_and_update_code $1
    # 延迟十秒再执行
    sleep 10
done


本质就是判断本地和远程的head。如果不一致就进行更新。
这是一个现成的脚本可以直接保存到服务器上为pull.sh
chmod +x pull.sh # 给脚本执行权限
sh pull.sh develop # 启动脚本并监听develop分支

标签:pull,code,sh,echo,git,shell,拉取,远程
From: https://www.cnblogs.com/death-satan/p/shell_auto_pull.html

相关文章

  • Windows11美化Powershell
    1.前言稍微美化了一下win11的powershell,在此记录下免得以后忘记了流程。美化方案是:PowerShell7+OhMyPosh时间:2023-07-132.安装PowerShell7PowerShell7是目前win下比较新的一个shell工具,个人感觉要比WindowsPowerShell(PowerShell5),命令提示符(cmd)这些好用......
  • 【shell】循环执行命令行
    在shell下面循环执行命令行,但不想用cron任务,只用纯粹的shell指令,要怎样实现呢。比如,现在要执行,查看当前目录下文件个数,及各文件的大小,要每隔5秒钟查看一次如果手动执行的话,要先输入ls|wc-l(查看当前目录下,文件的个数)然后再通过du-sh*来查看每个文件的大小如......
  • 06_sar:敏感文件泄露、文件上传、组件漏洞、反弹shell、计划任务提权
    1.信息收集1.1主机发现1.2端口扫描1.3具体扫描1.4目录扫描1.5nmap默认脚本扫描2.信息利用2.1访问网站:只有一个apache2的页面2.2访问robots.txt因为robots.txt大多数都是存的目录,所以尝试访问一下可以看到一个带有版本号的文件,这个可能是一个软件,下载压缩包通过观察里面的描述确定......
  • 远程连接工具xshell上用vi/vim小键盘无法使用的解决办法
    1、https://www.cnblogs.com/my-first-blog-lgz/p/17361128.html问题:后台开发人员经常使用Xshell来访问远程服务器,在用vim(或vi)编辑文件的时,使用小键盘数字键的时候,可能会输入一堆字母和换行,并不是数字。修改:1.修改会话属性2.选择类别“终端”-VT模式3.选择“初始数字键盘模......
  • Shell 特殊符号(变量)用法小结
    Shell|特殊变量 $n基本语法:$n (功能描述:n为数字,$0 代表该脚本名称,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})例如:$touchparameter.sh$vimparameter.sh#!/bin/bashecho'==========$n=========='echo$0echo$1echo$2......
  • shell脚本学习笔记
    目录执行一个shell脚本变量赋值引用高级变量交互式shell数值计算test命令中括号判断符默认变量$0~$n$(())、$()、``、${}、''、""、()、(())、[]、[[]]、{}条件判断-与或非函数循环标准输入输出整数比较&字符串比较shell脚本中调用另一个shell脚本的三种方式:fork、exec、......
  • Shell | 条件判断
    基本语法:(1)testcondition(2)[condition](注意condition前后要有空格)注意:条件非空即为true,[atguigu]返回true,[]返回false。常用判断条件:(1)两个整数之间比较-eq等于(equal)-ne不等于(notequal)-lt小于(lessthan)-le小于等于(lessequal)-gt大于(greaterthan)-ge大......
  • 如何实现参考教材4.5.2,在Spark Shell中编写代码实现: 1、用SparkSQL 向Hive的表写入
    使用SparkSQL向Hive表写入数据的流程为了向Hive表写入数据,我们需要完成以下步骤:步骤描述1创建SparkSession2创建DataFrame3将DataFrame注册为表4写入数据到Hive表接下来,我们将逐步指导你完成这些步骤。步骤1:创建SparkSession首先,我们需要创建一个Spa......
  • Shell | 正则表达式
    正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。在Linux中,grep,sed,awk等文本处理工具都支持通过正则表达式进行模式匹配。常规匹配一串不包含特殊字符的正则表达式匹配它自......
  • 【计算机教育缺失的一课】01 课程概览与shell
    一、单个程序(1)shell当可视化界面无法实现你想要的功能时,shell是你和计算机交互的主要方式之一。大多数平台也都提供一些形式的shell。在windows上一般是powershell,但也有其他shell可用。有不同类型的shell最常见的是Bash(BourneAgainSHell)(2)terminal......