I’ve been doing a lot of work setting up this blog lately. One thing I’m looking forward to is having the ability to point to a public project important enough to me to work on outside of employment. This blog has a pipeline in Gitlab that interfaces with AWS Amplify to auto-generate the site when code changes are pushed, and I’ve made some interesting design decisions on how I implemented new features of the site that I think do a good job showing how I put thought into my effort. I’d like to be able to point to this project in job interviews. So, I plan to replicate my private repo to Github.

When I experimented with this the first time, I set up the replication from gitlab to github, which was where my POC site was auto-configured to point to (via point-and-click POC) through AWS Amplify Console. From that experience, I learned that the replication can be eventually-consistent, and it quickly became obvious that if I’m going to replicate between the two, I should do it in a way that doesn’t impact the pipeline. So when I rebuilt it for keep-sies, I implemented it with Gitlab instead, with plans to replicate to Github, only for visibility.

I’m following this guide to set up the mirror. The trickiest thing about the process was setting up a personal access token and configuring Gitlab to use it.

This permission seems to work:

This should be the result after the token generates:

And then in Gitlab:

If this comes up, it means the permissions won’t permit access:

Note: I had to refresh the screen to see the error.

With the correct permission:

Again: Had to refresh the screen.

And of course, everything should be visible in Github.