How to push code from gitub to linux server
Push code from gitub :
Pushing code from GitHub to a Linux server involves several steps, including setting up SSH access, cloning the repository, and pulling updates. Here’s a step-by-step guide:
Push code from gitub
1. Set Up SSH Access
Ensure you have SSH access to your Linux server.
- Generate SSH Key Pair (if you don’t have one): On your local machine, run:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Add SSH Key to GitHub:
- Copy the public key to your clipboard:
cat ~/.ssh/id_rsa.pub
.Go to GitHub, navigate to Settings > SSH and GPG keys > New SSH key, and paste your public key.
- Copy SSH Key to Linux Server:
- Use ssh-copy-idto copy your SSH key to the server:
 
- Use 
ssh-copy-id user@your_server_ip
2. Clone the Repository on the Linux Server
- SSH into the Server:
ssh user@your_server_ip
2.Clone the Repository:
git clone git@github.com:your_username/your_repository.git
3. Pull Updates from GitHub to the Linux Server
- Navigate to the Repository Directory:
cd your_repository
Pull the Latest Changes:
git pull origin main
Replace main with the branch name if you’re using a different branch.
4. Automate Deployment (Optional)
You might want to automate the deployment process using hooks or continuous deployment tools.
Using Git Hooks
- Create a Post-Receive Hook:On your server, navigate to the hooksdirectory in your repository:
cd your_repository/.git/hooks
Create a post-receive Hook:
nano post-receive
Add the Following Script:
#!/bin/bash GIT_WORK_TREE=/path/to/your/project git checkout -f
Replace /path/to/your/project with the path to your project directory.
- Make the Hook Executable:
chmod +x post-receive
Using Continuous Deployment Tools
Tools like Jenkins, Travis CI, CircleCI, or GitHub Actions can automate deployment. For instance, with GitHub Actions:
- Create a Workflow File:In your repository, create a .github/workflows/deploy.ymlfile.
- Add Deployment Configuration:
name: Deploy to Server
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Deploy to Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SERVER_IP }}
username: ${{ secrets.SERVER_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
cd /path/to/your/project
git pull origin main
Add Secrets:
- 
- Go to your GitHub repository, navigate to Settings > Secrets and variables > Actions.
- Add the following secrets:
- SERVER_IP: Your server’s IP address.
- SERVER_USER: Your server’s username.
- SSH_PRIVATE_KEY: Your SSH private key.
 
 
By following these steps, you can push code from GitHub to a Linux server and even set up automated deployments.
If you have error while updating php updates in Linux server click hereÂ

 
                                                                                 
                                     
                                    