繁体   English   中英

Laravel 如何从 github 自动推送更新到服务器

[英]Laravel How to automatic push update to server from github

I have laravel project its on server and connected to github using ssh, I can upload from local to github but after that I have to use putty to upload update to the server, I don't know if there is a way to make it automaticlly更新到服务器。 请我需要一步一步来,因为我对 github 很陌生 我不知道如何以及在哪里创建像 deploy.sh 这样的脚本 我有 cpanel 请帮助我

您可以使用 CI/CD 解决方案自动将代码从 GitHub、BitBucket 或任何其他 GIT 托管部署到您的服务器。 我一直在使用以下服务:

  • 圈子CI
  • 伙伴

CircleCI有更多免费帐户的功能,但它的设置和集成有点复杂。 Buddy有一个直观的 UI,您可以在其中使用拖放界面将 GIT 存储库连接到使用 SSH 或 SFTP 的服务器。

除了这两个服务之外,还有很多其他的服务两个。 甚至还可以使用自托管的开源解决方案。 例如,我过去一直为此目的使用Git-Auto-Deploy

这些服务中的任何一个都应该对您有所帮助,但您应该进行彻底的研究,以找到最适合您需求的自动部署解决方案。

您可以使用最近发布的 Github 操作。 首先,go 到您的存储库的Actions选项卡:

https://github.com/{username}/{repository}/actions

然后,您可以单击New workflow以启动新工作流程并将其用作开始:

name: CD
on:
    push:
        branches:
            - master

jobs:
  deploy:
    name: Deployment
    runs-on: ubuntu-latest
    steps:

      - name: Deployment
        uses: appleboy/ssh-action@master
        env:
          HOST: ${{ secrets.SSH_HOST }}
          KEY: ${{ secrets.SSH_PRIVATE_KEY }}
          USERNAME: ${{ secrets.SSH_USERNAME }}
        with:
          args: --script 'cd {PATH}' --script 'git checkout -f' --script 'git pull'

确保将{PATH}替换为服务器上存储库的目录。

完成工作流程的设置后,您需要将服务器的机密添加到存储库的设置中:

https://github.com/{username}/{repository}/settings/secrets

添加以下 3 个秘密:

  • SSH_PRIVATE_KEY
  • SSH_USERNAME
  • SSH_HOST

之后,每次推送master分支时,Github 都会触发工作流,然后连接到您的服务器并自动为您拉取。

有关 Github 操作的更多信息:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM