[英]Workflow Push to deploy, Production Server, GitHub, .env.php in Laravel
[英]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 托管部署到您的服务器。 我一直在使用以下服务:
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 个秘密:
之后,每次推送master
分支时,Github 都会触发工作流,然后连接到您的服务器并自动为您拉取。
有关 Github 操作的更多信息:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.