前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell--检查github最新release

shell--检查github最新release

作者头像
潇洒
发布2023-10-20 12:21:53
2570
发布2023-10-20 12:21:53
举报
文章被收录于专栏:石头岛

前言

经常在需要使用脚本监控仓库是不是有最新的release版本的发布,然后进行自动构建。 如何知道远程的github是发布新的release版本,可以能过脚本来获得。

git ls-remote

作用:查看远程分支。能够列出远程分中的内容。

查看远程所有tag

代码语言:javascript
复制
git ls-remote --tags ./.

结果如下:

d6602ec5194c87b0fc87103ca4d67251c76f233a refs/tags/v0.99 f25a265a342aed6041ab0cc484224d9ca54b6f41 refs/tags/v0.99.1 7ceca275d047c90c0c7d5afb13ab97efdf51bd6e refs/tags/v0.99.3 c5db5456ae3b0873fc659c19fafdde22313cc441 refs/tags/v0.99.2

查看指定仓库分支

代码语言:javascript
复制
git ls-remote http://www.kernel.org/pub/scm/git/git.git master seen rc

5fe978a5381f1fbad26a80e682ddd2a401966740 refs/heads/master c781a84b5204fb294c9ccc79f8b3baceeb32c061 refs/heads/seen

检查远程

写一个脚本来实现自动检查远端仓库是否有新的release,脚本需要具备:

  1. 过滤指定仓库
  2. 查看最新版本

借助 git ls-remote 来实现。

代码语言:javascript
复制
#!/bin/bash

GITHUB_CLONE_TYPE='HTTPS'

GITHUB_REPOSITORY=''
GITHUB_REPOSITORY_HTTPS_URL='https://github.com/liukai/test.git'
GITHUB_REPOSITORY_SSH_URL='git@github.com:liukai/test.git'

if [[ $GITHUB_CLONE_TYPE == 'HTTPS' ]]; then
  GITHUB_REPOSITORY=$GITHUB_REPOSITORY_HTTPS_URL
else
  GITHUB_REPOSITORY=$GITHUB_REPOSITORY_SSH_URL
fi

getLatestReleaseVersion() {
  full_node_version=`git ls-remote --tags $GITHUB_REPOSITORY | awk -F '/' 'END{print $3}'`
  if [[ -n $full_node_version ]]; then
   echo $full_node_version
  else
   echo ''
  fi
}

checkVersion() {
 github_release_version=$(`echo getLatestReleaseVersion`)
 if [[ -n $github_release_version ]]; then
  echo "info: github latest version: $github_release_version"
  echo $github_release_version
 else
  echo 'info: not getting the latest version'
  exit
 fi
}

# 测试调用一下
checkVersion

总结

这个脚本主要是利用git自带的检查远程仓库的功能来实现,加了一些简单判断就可以实现功能。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • git ls-remote
    • 查看远程所有tag
      • 查看指定仓库分支
      • 检查远程
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档