当前位置: 首页 > article >正文

程序猿Git项目代码自动提交神器-万能shell版

文章目录

  • git代码自动提交系列短文
  • 一,概述
  • 二,环境准备
  • 三,项目代码
    • 1. 示例项目
    • 2. 配置项目用户名、密码(个人令牌)
  • 四,运行
  • 五,配置定时任务
    • 1. 配置定时任务

git代码自动提交系列短文

  • 程序猿Git项目代码自动提交神器
  • 程序猿Git项目代码自动提交神器-shell版
  • 程序猿Git项目代码自动提交神器-万能shell版

一,概述

万能shell版,对git项目无任何要求。

二,环境准备

云主机,centos7系统,安装组件:git

组件作用
git源码下载
crontab定时作业列表,linux内置,一般无需安装

安装git

#安装git
yum install -y git

三,项目代码

任意项目代码,通过git下载代码到任意目录

1. 示例项目

https://gitcode.com/00fly/test/tree/main
示例目录: /work/abc/gitcode/abc

mkdir -p /work/abc/gitcode/abc
cd  /work/abc/gitcode/abc#下载git项目源码
git clone https://gitcode.com/00fly/test.git

2. 配置项目用户名、密码(个人令牌)

下面的代码需要进入git项目目录里面执行

#当前git项目代码目录保存
cd  /work/abc/gitcode/abc/test
git config user.name 00fly
git config user.email 00fly@noreply.gitcode.com
git config credential.helper store

可参考 程序猿Git项目代码自动提交神器-shell版 相关章节。
保证设置后git提交代码无需输入用户名、密码

四,运行

重要:一定要在git项目当前目录操作

#wget网络下载start.sh保存到git项目当前目录
cd /work/abc/gitcode/abc
wget https://gitee.com/00fly/git-cron/raw/master/all-in-one-cron-push.sh -O start.sh#测试
sh start.sh

start.sh

#!/bin/sh
# defines variable
git=`ls -d */` && path=`pwd` && gitpath=$path/$git# git pull
cd $gitpath && git pull \
&& now=`git log -1 --format="%at"` \
&& last=`cat $path/last`# check timestamp, if changed print git log
if [ ! $last ] || [ $now -gt $last ] ; thenecho "git changed!!" && echo $now>$path/last && echo `git log -1`
elseecho "git not change"
fi# git push
date > date.md
if [ -n "$(git status -s)" ] ; thengit add .git commit -m "update: `date +"%Y-%m-%d %H:%M:%S"` auto commit"git push
fi

五,配置定时任务

1. 配置定时任务

#查看作业任务
crontab -l#编辑作业任务
crontab -e

添加内容
0 */1 * * * cd /work/abc/gitcode/abc&&sh start.sh每1小时执行一次

或者

*/5 * * * * cd /work/abc/gitcode/abc&&sh start.sh每5分钟执行一次

0 */4 * * * cd /work/abc/gitcode/abc&&sh start.sh每4小时执行一次


有任何问题和建议,都可以向我提问讨论,大家一起进步,谢谢!

-over-

http://www.lryc.cn/news/2420057.html

相关文章:

  • 腾讯,百度,高德地图兴趣点(POI)的获取以及查询,逆解析解析
  • git下载安装和常用命令
  • SSH命令大解析,让你的远程连接更高效
  • MySQL 入门:Case 语句很好用
  • Swagger接口文档使用(三种)
  • UTC时间、GMT时间、CST时间
  • HTTP知识点总结,这一篇就够了
  • 一、jQuery概述
  • 【Go】超详细Go入门
  • 【VirtualBox】--- 从零开始搭建 Ubuntu系统 超详细
  • OpenCV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
  • HTML学习笔记(HTML基础篇)
  • 网址中有无 www 区别是什么
  • I tell you 如何下载文件
  • SpringBoot最常用的50个注解(全是干货,干的要死!)
  • Nodejs的详细安装过程与步骤(超详细)
  • 【MobaXterm】--- 登录SSH服务器 持续更新中
  • Nacos 入门教程
  • 再见,Anaconda的安装和配置老大难问题!
  • Pytorch 最全入门介绍,Pytorch入门看这一篇就够了_pytorch csdn
  • 【设计模式】UML建模之包图、组件图和部署图学习笔记
  • IDEA2023使用手册 【持续更新...】
  • Docker-常用命令大全(附命令详解)
  • emplode php|,PHP版单点登陆实现方案
  • 看美国影片必须了解的英文粗语脏话,好不容易整理出来的
  • 酒吧管理系统、酒吧销售系统
  • 3d弹珠小游戏的制作
  • 将Tp-link无线路由器桥接到Dlink无线路由器上
  • Go 语言 tag 的用处?
  • 如何让游戏中的随机因素重新赢得玩家信任