***git自动化部署总结

简介: 在网上搜了一堆没用找到太仔细的教程,于是花费2天时间,自己研究了下。现在分享如下: 思路:利用crontab定时去去执行git pull脚本 首先,用git clone命令将中央库的代码下载到阿里云 git clone https://username:psw@git.

在网上搜了一堆没用找到太仔细的教程,于是花费2天时间,自己研究了下。现在分享如下:

思路:利用crontab定时去去执行git pull脚本

首先,用git clone命令将中央库的代码下载到阿里云

git clone https://username:psw@git.oschina.net/xapp/xserver.git  xm

第二步、在项目目录  /opt/lampp/htdocs/xm  下创建一个脚本 xm-pull.sh ,内容如下:

#!/bin/bash
cd /opt/lampp/htdocs/xm
/usr/bin/git pull https://username:psw@git.oschina.net/xapp/xserver.git  master:master

第三步、cd ~ 进入到个人目录,创建CRONTAB定时器文件 xm-cron

[root@iZ254lfyd6nZ xm]# cd ~
[root@iZ254lfyd6nZ ~]# ls
hello.txt  test-conf  xm-cron
[root@iZ254lfyd6nZ ~]# vi xm-cron
* * * * * /bin/bash  /opt/lampp/htdocs/xm/xm-pull.sh

注:定时每隔一分钟去执行git pull脚本

第四步、开启执行CRONTAB定时器,并查看当前运行的crontab状态或日志

[root@iZ254lfyd6nZ ~]# crontab -l
* * * * * /bin/bash  /opt/lampp/htdocs/xm/xm-pull.sh
[root@iZ254lfyd6nZ ~]# tail -f /var/log/cron
Jun  3 11:24:01 iZ254lfyd6nZ CROND[10636]: (root) CMD (/bin/bash  /opt/lampp/htdocs/xm/xm-pull.sh)
Jun  3 11:25:01 iZ254lfyd6nZ CROND[10689]: (root) CMD (/bin/bash  /opt/lampp/htdocs/xm/xm-pull.sh)
Jun  3 11:26:01 iZ254lfyd6nZ CROND[10742]: (root) CMD (/bin/bash  /opt/lampp/htdocs/xm/xm-pull.sh)


如果发现crontab在执行,但是没有去Pull代码过来,可以重启下crontab服务:
启动、停止、重启crond服务:
#/sbin/service crond start
#/sbin/service crond stop
#/sbin/service crond restart


如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
6月前
|
测试技术 持续交付 开发工具
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
115 2
|
6月前
|
jenkins 应用服务中间件 持续交付
Git + Jenkins 自动化 NGINX 发布简易实现
Git + Jenkins 自动化 NGINX 发布简易实现
|
15天前
|
开发工具 git C++
【App Service】VS Code直接部署App Service时候遇见 “fatal: not a git repository (or any of the parent directories): .git”
通过VS Code发布Python App Service的时候,遇见了发布失败错误: The deployment failed with error: fatal: not a git repository (or any of the parent directories): .git . Please take a few minutes to help us improve the deployment experience
69 24
|
27天前
|
测试技术 开发工具 git
利用Git Hooks自动化你的开发流程
【10月更文挑战第6天】在现代软件开发中,版本控制至关重要,Git作为主流工具,提供了强大的代码管理功能。Git Hooks 是 Git 的一个特性,可在特定事件(如提交、推送)发生时自动执行脚本,实现开发流程自动化。本文介绍 Git Hooks 的基本概念、常见用例及设置方法,涵盖 pre-commit、pre-push 等多种类型的 Hooks,并展示了如何利用它们进行代码格式化、自动化测试和风格检查,提升开发效率与代码质量。通过合理应用 Git Hooks,可以显著减少人为错误,确保代码一致性,并促进团队协作。
|
6月前
|
JavaScript 数据可视化 网络安全
Hexo博客重新部署与Git配置
重装电脑后,作者更新了Hexo与NexT主题。首先,安装了Node.js和git,配置了git的用户信息,并生成SSH密钥。因旧版本导致问题,作者决定重新部署。按照步骤安装Hexo,选择了NexT主题,并安装了多个插件。遇到错误时,通过查阅资料解决了问题。此外,作者自定义了页脚、侧边栏内容,包括访客统计、词云、建站时间等,并更换了背景图,添加了Daovoice聊天界面。参考了多篇教程解决过程中遇到的各类问题。
67 6
|
3月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
3月前
|
Linux 开发工具 git
【应用服务 App Service】App Service使用Git部署时,遇见500错误
【应用服务 App Service】App Service使用Git部署时,遇见500错误
|
3月前
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
74 3
|
3月前
|
开发工具 git
【Azure 应用服务】App Service 开启了私有终结点(Private Endpoint)模式后,如何来实现公网Git部署呢?
【Azure 应用服务】App Service 开启了私有终结点(Private Endpoint)模式后,如何来实现公网Git部署呢?
|
3月前
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因