站長資訊網
        最全最豐富的資訊網站

        使用 Webhooks 將 Linux 服務器上的項目自動部署到 GitHub

        我們的項目一般都會托管在類似 Github 和 Coding 之類的平臺上,當項目部署在服務器上之后,如果發現需要更改一處地方,需要在本地更改之后提交到 Github,然后再登錄服務器拉取 Github 上的代碼,可以說操作非常麻煩了,我們可以使用 Github 上的 Webhooks 實現本地提交之后服務器上自動更新。

        服務器中的操作:

        1.生成公鑰。公鑰有兩個:Git 用戶公鑰和項目部署公鑰,之前部署項目時候直接在服務器上使用 git clone 來克隆 Github 上的代碼,所以用戶公鑰已經配置過了,很簡單這里就不贅述了。
        部署公鑰: sudo -Hu Ubuntu ssh-keygen -t rsa  請選擇 “no passphrase”,一直回車下去

        2.準備鉤子文件(假設項目的目錄為 project_dir):
        創建目錄:mkdir /home/ubuntu/project_dir/public/hook  注意:這里多了一層 public,因為我的項目是一個 Laravel 項目,入口文件在 public 下的 index.php
        修改目錄權限: chown -R ubuntu:ubuntu /home/ubuntu/project_dir/public/hook
        寫入鉤子文件: sudo -Hu ubuntu touch /home/ubuntu/project_dir/public/index.php

        文件內容:

        <?php
         
        error_reporting(1);
         
        $target = ‘/home/ubuntu/project_dir’; // 生產環境web目錄
         
        $token = ‘您在coding填寫的hook令牌’;
         
        // $json = json_decode(file_get_contents(‘php://input’), true);  如果是application/json格式

        $json = $_POST[‘payload’];  // 如果是application/x-www-form-urlencoded
        if (empty($json[‘token’]) || $json[‘token’] !== $token) { exit(‘error request’); }$cmd = “sudo -Hu ubuntu cd $target && git pull”; shell_exec($cmd);

        3.修改 git 配置

        sudo -Hu ubuntu git config –global credential.helper store # 永久保存
        sudo -Hu ubuntu git config –global user.name “hiwynn”
        sudo -Hu ubuntu git config –global user.email “email@email.com” # 郵箱請與conding上一致

        Github 上的操作:

        1.添加部署公鑰:
        復制  /home/ubuntu/webhook.pub (生成的時候我起的名字叫webhook)的內容到 Github 中的  項目 > Settings > Deplow keys > Add deploy key  中

        2.添加 Webhooks:
        項目 > Settings > Webhooks > Add webhook

        3.如果成功的話這里是個綠色的對號,不成功的話是個紅色的嘆號。如果不成功的話檢查一下各項配置,更改之后點擊  Redeliver  重新發送試試。

        使用 Webhooks 將 Linux 服務器上的項目自動部署到 GitHub

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 日韩精品国产另类专区| 久久久精品国产亚洲成人满18免费网站 | 亚洲精品成人网站在线观看 | 亚洲高清国产拍精品青青草原| 精品亚洲一区二区三区在线观看 | 亚洲中文字幕久久精品无码APP| 亚洲国产精品碰碰| 亚洲精品线在线观看| 高清在线国产午夜精品| 国产一区二区三区欧美精品 | 亚洲国产精品人人做人人爱| 国产精品九九久久精品女同亚洲欧美日韩综合区| 国产精品美女免费视频观看| 成人精品视频一区二区三区 | 亚洲Av无码精品色午夜| 久久99国产综合精品女同| 国产精品55夜色66夜色| 9999国产精品欧美久久久久久 | 久久精品9988| 国产AⅤ精品一区二区三区久久| 国产l精品国产亚洲区在线观看| 亚洲精品无码鲁网中文电影| 免费精品精品国产欧美在线欧美高清免费一级在线 | 青青热久久国产久精品| 国产三级精品三级在线观看专1| 欧美国产精品va在线观看| 国产精品成人免费观看| 99精品人妻少妇一区二区| 久久九九亚洲精品| 日韩午夜高清福利片在线观看欧美亚洲精品suv| 欧美精品欧美人与动人物牲交| 无码8090精品久久一区| 欧洲精品一区二区三区在线观看| 精品久久久久久无码人妻热| 国产亚洲精品国看不卡| 国产在线精品观看免费观看| 精品国产91久久久久久久a | 极品精品国产超清自在线观看 | 99国产欧美久久久精品蜜芽| 国产在线精品一区二区中文| 国产偷伦精品视频|