Sync with GitHub
Amplication can seamlessly synchronize with GitHub. The code generated by Amplication gets pushed to a GitHub repository of your choosing. You own the code and have full control to customize it to your needs in your favorite IDE.
This page provides you with everything you need to work with GitHub. You'll learn how to do the following:
You'll also learn how Amplication manages your repo from GitHub's side.
- The amplication branch
- How Amplication creates pull requests on your branch
- Commits and commit messages
Let's get started.
Prerequisites
If you are running Amplication locally, you should first read Connect Amplication server to GitHub. It'll show you how to configure the server to work with a new GitHub application.
Authorize Amplication to access GitHub
Before you can integrate your application with GitHub, you need to authorize Amplication to get access to your GitHub account.
This is separate and distinct from logging in with GitHub on Amplication's login page.
When you create a service on a project for the first time on Amplication, you have the option of selecting your preferred git provider.
If you haven't connected a git repo to your service yet, go to your project's dashboard. You'll need to go to the Sync with Git Provider page. There are 3 ways to do this:
- Click Sync with git provider on the sidebar.
- Click on the Sync with git provider tile on your project's dashboard.
- Click Connect to git on the footer at the bottom of the page.
You're now on the Sync with Git Provider page. Proceed with the following steps to connect a GitHub repository to your service:
- Click on the
Select organization
dropdown. - Click on the
Add Organization
button at the bottom of the dropdown. - Click on the
Connect
button for GitHub that appears in the Select Git Provider modal.
If you're already connected to GitHub, you can either add another GitHub organization or select an account you connected previously.
You can then go to selecting your repository
Install Amplication's GitHub App
Now the Install Amplication GitHub App page opens. Select your preferred account or organization on GitHub.
Set Amplication's Configuration Settings
After selecting your preferred account or organization, you'll be led to the configuration page. You can configure the GitHub App to only allow access specific repositories in your account, or allow Amplication to access all of your repositories.
After selecting your repositories, click on the Next
button.
You'll be brought back to Amplication.
Select or Create Your Repository
You'll see a modal appear with a populated list of repositories based on your configuration settings from above. You can also create a new repository by clicking on the Create repository button.
This repository is where Amplication will put your generated code.
If you create a new repository, you'll to update the Amplication GitHub App settings to allow access to the new repository.
Change Your Service's Repository
A project can have many services. The GitHub repository you chose when creating the initial service for the project will be set as the default repository for the project. Each new service you create will inherit the repo settings from the project settings.
But, it's possible to override these settings for each individual service.
To do this when you're creating a service, turn on the Override default settings
toggle during the Git Provider selection step.
The repository selection modal will appear again. You can select a new repository based on the configuration settings you set for Amplication's GitHub App.
Change Your Service's Connected Git Provider
Besides changing your selected GitHub repository, you can change your git provider to Bitbucket. See the Sync with Bitbucket page.
Create a new Pull Request
To make a new pull request, first make a change in your application and click the Commit changes & build
button on the right side panel.
For an example of changes you can make to your service, see Building New Versions of Your Service.
To view your previous commits for a project, select the drop down at the top of the page, and click Commits
.
You'll now see a list of your commits for the project. You can go to a specific commit by clicking on it in the sidebar. Each commit will contain changes, if any, for all services.
Now click on the specific service that you're interested in seeing the build for. A build contains a log of all the updates and changes that were made to that specific service during that commit.
To view the Pull Request in GitHub, select the most recent commit and click Open With GitHub
in the footer.
You can now view the code changes generated by Amplication, and merge them.
Now let's review what happens from GitHub's side when Amplication generates a new Pull Request on your repository.
Merging Amplication's Pull Request into your branch
Amplication triggers the creation of a commit on the changed files whenever a new build is performed on a project. The changed files are all the files that were added, removed, or changed from the last build.
Do not delete the amplication
branch.
Do not modify the amplication
branch, except to resolve conflicts. Handle conflicts directly on the amplication
branch. Avoid creating new commits or merging changes from other branches to prevent bugs and inconsistencies.
Amplication reduces the chances of user changes being overridden by interacting with the user’s repository through an amplication
branch. This branch is created in your selected repository by Amplication's GitHub App.
If you're on the Free Plan, Amplication will create multiple amplication
branches and pull requests for each commit.
The format will be amplication-build-{id}
.
If you're on the paid plan, Amplication will instead manage all commits on a single branch called amplication
.
Let's review what's happening here in its entirety.
The amplication
branch
Users can merge Amplication-made changes by merging pull requests created by Amplication from the amplication
branch to the user repository's base branch.
The ability to change your base branch is a feature that's available for Enterprise plan users.
The commit message
The title of the pull request and the commit message will both come from the message you enter into the commit message box in Amplication's pending changes section.
Also included is a direct link to your build. It will take you to the specific build log for this commit on Amplication.
Merging your pull request
After clicking on Merge
, do not delete the amplication
branch. You can then navigate back to your main branch where you will find your Amplication code.
Next Steps
Now you're more familiar with how the pull request process works with Amplication and GitHub.
There are differences between the free plan and the paid plan for Amplication's Sync with GitHub feature. Learn more about them here.