This is the first post in a series focusing on implementing a CI/CD pipeline.
The reason we are starting with Git and Github is because you need to have your foundation of source control set before you can set up build tools or continuous integration tools.
A few reflections I have gathered over the past weeks conducting research. First off, everyone working in IT Operations or Software Development needs to watch this video: https://www.youtube.com/watch?v=ecIWPzGEbFc
Sometimes learning about the past allows on to understand the present. As an example, when I first looked at Gradle I was extremely confused. However, when you trace back its genealogy to Apache Ant and then even further back to GNU Make, you can start to understand the landscape of the plethora of tools we have at our disposal in the present. You start to understand how tools have different wrappers around them and fundamentally what they are intended to do. If you are a new Systems Admin, I encourage you to compile Python 3 from source code. This will force you to use the make command and teach you about dependencies etc.
Now on to Git.
Sign up for a Github account. I used a throw away account for training purposes. You can always create an official account when you are ready.
Next on your server complete the following steps:
yum install git
// Verify Installation
git --version
// Add Username and Email information
git config --global user.name "syspleb"
git config --global user.email syspleb@domain.com
// Generate SSH Key
ssh-keygen -t rsa -b 4096
Copy your *Public key* to your Github account by going to Settings and then SSH and GPG keys.
Never, I mean NEVER share, email, discuss, or whisper your private SSH key to anyone. It stays on your server, period.
When you now go to Git clone a Repository: Click the green clone button and make sure you select SSH instead of HTTPS.
If you have set up everything correctly it should look like this:
git clone git@github.com:syspleb/cicd-pipeline-train-schedule-git.git
remote: Enumerating objects: 27, done.
remote: Total 27 (delta 0), reused 0 (delta 0), pack-reused 27
Receiving objects: 100% (27/27), 11.89 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2/2), done.
Some other noteworthy git commands are as follows:
The reason we are starting with Git and Github is because you need to have your foundation of source control set before you can set up build tools or continuous integration tools.
A few reflections I have gathered over the past weeks conducting research. First off, everyone working in IT Operations or Software Development needs to watch this video: https://www.youtube.com/watch?v=ecIWPzGEbFc
Sometimes learning about the past allows on to understand the present. As an example, when I first looked at Gradle I was extremely confused. However, when you trace back its genealogy to Apache Ant and then even further back to GNU Make, you can start to understand the landscape of the plethora of tools we have at our disposal in the present. You start to understand how tools have different wrappers around them and fundamentally what they are intended to do. If you are a new Systems Admin, I encourage you to compile Python 3 from source code. This will force you to use the make command and teach you about dependencies etc.
Now on to Git.
Sign up for a Github account. I used a throw away account for training purposes. You can always create an official account when you are ready.
Next on your server complete the following steps:
yum install git
// Verify Installation
git --version
// Add Username and Email information
git config --global user.name "syspleb"
git config --global user.email syspleb@domain.com
// Generate SSH Key
ssh-keygen -t rsa -b 4096
Copy your *Public key* to your Github account by going to Settings and then SSH and GPG keys.
Never, I mean NEVER share, email, discuss, or whisper your private SSH key to anyone. It stays on your server, period.
When you now go to Git clone a Repository: Click the green clone button and make sure you select SSH instead of HTTPS.
If you have set up everything correctly it should look like this:
git clone git@github.com:syspleb/cicd-pipeline-train-schedule-git.git
remote: Enumerating objects: 27, done.
remote: Total 27 (delta 0), reused 0 (delta 0), pack-reused 27
Receiving objects: 100% (27/27), 11.89 KiB | 0 bytes/s, done.
Resolving deltas: 100% (2/2), done.
Some other noteworthy git commands are as follows:
Status: git status
Stage Files: git add -A
Commit: git commit -m "Describe the Change"
Push to Github Repo: git push
Comments
Post a Comment