In CyberPanel v2.0.0, we introduced the Git Manager. Git Manager is a powerful and feature-rich tool within CyberPanel which many don’t know about. Using this feature you can automate your application deployment directly from your Git repositories. CyberPanel can automatically pull new changes with the help of webhooks. You can also automatically push new changes to your repository.
You can initiate/attach repositories to various folders or virtually any folder inside your website. Being a developer, this feature holds great value as we personally use it for our development lifecycle.
Intro to GitHub and repository
If you are a developer you must know about git and GitHub, but if you don’t, read on. GitHub is a code hosting and development platform. GitHub is basically used for code collaboration, usually by open-source projects, however much major commercial software like Windows uses the same too. The main and important thing about GitHub is its basic version is free, and in 2019 GitHub allowed developers to create unlimited private repositories on GitHub. But they added a limit on the collaboration on the free plan.
GitHub has millions of users and day by day its use is increasing. GitHub allows developers to work as a team remotely and has a lot of features.
Some statics about GitHub:
- 56+ million Developers
- 3+ million Organizations
- 100+ million Repositories
- 72% Fortune 500
GitHub Repository
The repository is basically the data of your project. The repository contains files and data of your project that you are working on. In the repository, your project files reside with detailed history of when they were edited and by whom.
GitHub offers you two types of repositories: Private and Public. Now in GitHub, you can create unlimited free repositories. On GitHub, you can share access to your repo with others and manage the ownership.
GitHub allows you to collaborate and make a team with developers around the world and work with them. You can get feedback and solve the issues with different responses.
CyberPanel Git Manager Feature
In CyberPanel v2.0.0 we introduced the Git Manager feature. Although this is a very rich and advanced feature, a lot of CyberPanel users do not know about this feature. If you are a developer and you are using CyberPanel as your web hosting panel you must know about this feature of CyberPanel.
CyberPanel Git Manager allows you a lot of benefits like:
- Initiate a local repository.
- Pull from existing remote repository.
- Make commits and view file change history.
- Automate deployment via web hooks.
How to access Git Manager Feature in CyberPanel
To access the Git Manager feature on CyberPanel. You have to log in to CyberPanel using credentials. CyberPanel must be Upgraded to v2.0.0 or above. If you have an older version follow this guide to upgrade.
Once logged in, go to Website-> List Websites, and select the website for which you want to use Git Manger. Then click on the Manage button on the screen.
On the Manage Dashboard on the top right, you can find the Manage GIT option to open Git Manager for that specific website.
You can see the Git Manager screen here now.
Features in CyberPanel Git Manager:
CyberPanel Git Manager allows you to track different types of data to GitHub.
- public_html directory (which is usually the document root of your website, where all your website data resides)
- Databases for that specific website
- Emails
- You can also create child-domains with custom path inside your main website and track those folders.
CyberPanel allows you to perform two types of functions for the repository.
- Attach your Website/Application with an old repository
- Init (Create new repo)
Both will be discussed later in this post.
How to attach a remote Git repo with CyberPanel
If you are initiating a local repository you don’t need to do this step. But, if you are attaching an existing remote repository you need to add your key to GitHub/GitLab etc.
To add your key to GitHub (usually the process is same with GitLab) follow the procedure below:
Get key from CyberPanel Git Manger
Click on the Attach Existing Repo button present on the Git Manager screen.
Press this button and you can see a screen that asks you to provide some details and connect your GitHub to CyberPanel Git Manager.
- GitHub (GitHub.org, GitHub.com)
- Your GitHub username
- Your Repo name on GitHub
Below all these, you can see a key. You need to copy this key and follow the steps mentioned below.
Add SSH key on GitHub to connect CyberPanel Git Manager
You need to log in to gihub.com and then go to Profile button->Settings->SSH keys and GPG keys.
Here you can see an add button to add the ssh key you got from the CyberPanel Git Manager from the last step. Press Add SSH Key and then copy that key, paste here, and then click Save.
After adding this, press Add SSH key. You will see it saved there.
Once the key is added we can go back to CyberPanel Git Manager.
Press the Save button on the screen from where you copied the key, and it will show you a successful message.
Git Manager Init repo
In CyberPanel Git Manager you can also initiate a git repository locally using this feature. CyberPanel Git Manager allows you to entirely create a new repo and push it on GitHub servers. There is a lot to do in CyberPanel Git Manager Init Repo feature. Follow along and check out what you can do.
NOTE: Once you are able to reach the Git Manager dashboard and you see the Init repo button, if you are logged in you can follow this URL too:
https://<your-server-ip>:8090/websites/yourwebsite.xyz/manageGIT
Press the Init Repo button and go to the next screen. It will look like this:
Here you can see you can perform a lot of Git tasks. No need to run the commands manually. Just check the button and perform the task you want to do. All details about these are mentioned below.
Configure
The first option in Git Manager you can see is the configure. Here on this option, you can do some configurations.
-
- Auto Commit: Set auto-commit for your data on a daily, weekly, or never basis. In this way, all changes are committed to the git repo automatically.
- Auto Push: If you want to push your data automatically instead of pushing it manually you can set this option on a daily or weekly basis. Auto commit and push are run and executed one by one. (Auto push will run if some remote repo is attached to this repository)
- Email Logs: Set this if you want to get an email about the Git Manager operations.
- Webhook URL: This is the URL you selected from the drop-down like for only public_html, Vmail, etc.
- Commands: This is one of the coolest features in CyberPanel Git Manager. Here you can set commands according to your choice. You can set these commands to run when this webhook is fired or executed.
Create New Branch
You can create and maintain different Git branches directly within the Git Manager. Just press the Create New Branch option in Git Manager and create a new branch. Write the name of the new branch and press the save button.
Commit
On GitHub, there may be only one person or a team of developers working on the same project. When anyone pushes their work to the repository, they add a commit. This commit helps in version control and allows you to know to what anyone did at that time. Just press the Commit button from Git Manager and add the commit you want.
In GitHub, there are two main things you have to take care of: the push and pull requests.
Pull
Pull requests are one of the most important operations when you are working with collaborations. It means when you make any changes you ask others to pull your changes into their branches. Pull requests show the difference between both branches, Like green and red.
As soon as you commit anything after that you can open a pull request and ask for discussion.
CyberPanel Git Manager provides you a button on the dashboard to do this easily.
Attach your GitHub repo using the above method and pull any branch you want to pull.
Push
When you want to upload your local repository to the GitHub remote server you use the git push command. Pushing is how you transfer commits from your local repository to a remote repo.
This is also one of the core functions of GitHub. You can push your repo to the remote server after committing something. CyberPanel Git Manager also allows you to do this by using the Push button on the Git Manager dashboard. You can push any of your local repos to remote from GitHub server, and any branch.
Edit .gitignore
CyberPanel Git Manager also allows you to edit the git ignore file. You can update the gitignore file and can add anything you want to add or remove from that file, to exclude from pushing to the GitHub remote server.
Git Logs
You can also see git logs from the CyberPanel Git Manager. Just press the git button and see what you did in the logs.
Remove
If you want to remove the current working git from this project just press the remove button and all done.
View/Setup Remote
As mentioned above, this option is to integrate the Local git repo with the GitHub remote repository.
View Commits
If you want to see what you committed on this repo you can press the View commit button and see all commits you added to this project.
Git Manager attach with existing repo
Attach Existing Repo allows you to push your data to the repo that already exists. You can send your data to any repo at your remote GitHub which is already present there.