GIT 本地仓库提交到码云,Linux仓库自动拉取

Stella981
• 阅读 568

本地 windows 10 ,托管平台 码云 ,另一个远程仓库环境 Linux 

1 首先码云新建仓库

GIT 本地仓库提交到码云,Linux仓库自动拉取

2 windows 本地拉取刚才项目 

GIT 本地仓库提交到码云,Linux仓库自动拉取

3 linux拉取刚才新仓库

   GIT 本地仓库提交到码云,Linux仓库自动拉取

GIT 本地仓库提交到码云,Linux仓库自动拉取

4 进入码云控制台刚才仓库-管理-WebHooks-添加

GIT 本地仓库提交到码云,Linux仓库自动拉取

GIT 本地仓库提交到码云,Linux仓库自动拉取

GIT 本地仓库提交到码云,Linux仓库自动拉取

5,域名解析,nginx添加二级域名

GIT 本地仓库提交到码云,Linux仓库自动拉取

GIT 本地仓库提交到码云,Linux仓库自动拉取

vim  xxx.conf, 修改server_name root wq!保存退出,

然后  service nginx restart 重启nginx 

然后   cd /app 

mkdir xxx

cd xxx

GIT 本地仓库提交到码云,Linux仓库自动拉取 GIT 本地仓库提交到码云,Linux仓库自动拉取

vim index.php  <? phpinfo();

如果输出下图,说明webhooks配置成功

GIT 本地仓库提交到码云,Linux仓库自动拉取

 接下来修改index.php内容为

<?php
$json = file_get_contents("php://input");
$data = json_decode($json,true);
if (isset($data['ref']) && $data['total_commits_count']>0) {
    $res = PHP_EOL."pull start ---------------------------------------------".PHP_EOL;
    $res .= shell_exec("cd /app/xxx && git pull  2<&1 ");
    $res_log = '------------------------------------------------------------'.PHP_EOL;
    $res_log .= $data['user_name'] . ' 在' . date('Y-m-d H:i:s') . '向' . $data['repository']['name'] . '项目的' . $data['ref'] . '分支push了' . $data['total_commits_count'] . '个commit:'.$data['commits']['message'];
    $res_log .= $res.PHP_EOL;
    $res_log .= "pull end -----------------------------------------------------".PHP_EOL;
    file_put_contents("/home/wwwlogs/webhook/".date('Y-m-d',time()).".txt", $res_log, FILE_APPEND);//写入日志到log文件中
}

wq!保存退出

回到本地新建个1.txt  新增-提交-推送到远程仓库

GIT 本地仓库提交到码云,Linux仓库自动拉取 GIT 本地仓库提交到码云,Linux仓库自动拉取

回到linux /app/git_hook文件夹下 ls, what fuck ? 没东西??

再看一下刚才/app/xxx/index.php 文件内容  最后一行为 写入文件到/home/wwwlogs/webhook/下? 进入/home下  ls 空空如也,原因是没有权限,

好吧 手动新建 mkdir -p /wwwlogs/webhook 建完给权限 chmod -R  777 wwwlogs/

GIT 本地仓库提交到码云,Linux仓库自动拉取

好吧,回到本地新增个2.txt, 提交-推送,再回到/app/git_hook  ls 还是空空如也 ,进入/home/wwwlogs/webhook/目录下

看到日志写进去了 cat 日志名称

内容如下

GIT 本地仓库提交到码云,Linux仓库自动拉取

进入 app 目录下 查看 git_hook权限    cd /app&ll  看到是root用户root组

chown -R www:www git_hook/

GIT 本地仓库提交到码云,Linux仓库自动拉取

重新再本地新建3.txt 提交 推送 . 回到Linux  看到已经自动更新成功

附录 nginx 配置

server {
        charset utf-8;
        client_max_body_size 128M;
        listen 80;
        server_name  xxx.php404.com;
        root  /app/xxx;
        index  index.php;
    
        location ~* \.(eot|otf|ttf|woff)$ {
            add_header Access-Control-Allow-Origin *;
        }
    
        
        location / {
            index    index.html index.php;
          

            if ( !-e $request_filename) {
                rewrite ^/(.*)$ /index.php/$1 last;
                break;
            }
         #autoindex  on;
        }
    
        location ~ \.php {
            set $script $uri;
            set $path_info "";
            if ($uri ~ "^(.+\.php)(/.+)") {
                set $script $1;
                set $path_info $2;
            }
            include   fastcgi_params;
            fastcgi_index    index.php?IF_REWRITE=1;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_param    PATH_INFO    $path_info;
            fastcgi_param    SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param    SCRIPT_NAME    $script;
            try_files $uri =404;
        }
    access_log  /var/log/nginx/dubang-access.log  mains;
    }
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Peter20 Peter20
3年前
mysql中like用法
like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\
Stella981 Stella981
2年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Easter79 Easter79
2年前
SpringCloud搭建分布式配置中心
1、在仓库新建一个配置文件,可以在本地搭建git仓库,或者我用开源中国的码云测试!(https://oscimg.oschina.net/oscnet/5b89cbc7e6ec8bdc16d730ef786d4e0767a.jpg)!(https://oscimg.oschina.net/oscnet/036f7d82488219ebdba
Stella981 Stella981
2年前
Git Analyze 工具实现与原理
前言作为一个免费提供私有仓库的代码托管平台,码云时常要考虑利用现有的资源支持更多的用户,对于体积较大的存存储库,由于git的分布式特性,服务器往往需要更多的硬件资源来支撑这些存储库的访问。码云对git仓库的大小限制为1GB,用户在本地可以使用如下命令查看存储库的大小。dush.git/objects这个命令在Gi
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这