Generating a new SSH key


Generating a new SSH key

  1. Open Terminal.
  2. Paste the text below, substituting in your GitHub email address.
    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    This creates a new ssh key, using the provided email as a label.

    > Generating public/private rsa key pair.
  3. When you’re prompted to “Enter a file in which to save the key,” press Enter. This accepts the default file location.
    > Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
  4. At the prompt, type a secure passphrase. For more information, see “Working with SSH key passphrases”.
    > Enter passphrase (empty for no passphrase): [Type a passphrase]
    > Enter same passphrase again: [Type passphrase again]

aryan@aryan-VirtualBox:~$ cd .ssh
bash: cd: .ssh: No such file or directory
aryan@aryan-VirtualBox:~$ ssh-keygen -t rsa -b 4096 -C  aryan@xxxx.com
Generating public/private rsa key pair.
Enter file in which to save the key (/home/aryan/.ssh/id_rsa): 
Created directory '/home/aryan/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/aryan/.ssh/id_rsa.
Your public key has been saved in /home/aryan/.ssh/id_rsa.pub.
The key fingerprint is:

Adding your SSH key to the ssh-agent

Before adding a new SSH key to the ssh-agent to manage your keys, you should have checked for existing SSH keys and generated a new SSH key.

  1. Start the ssh-agent in the background.
    $ eval "$(ssh-agent -s)"
    > Agent pid 59566
  2. Add your SSH private key to the ssh-agent. If you created your key with a different name, or if you are adding an existing key that has a different name, replace id_rsa in the command with the name of your private key file.
    $ ssh-add ~/.ssh/id_rsa

Setting up GitHub Webhooks in Jenkins


One of the most important aspects of a good Continuous Integration (CI) process is quick feedback whenever there is a change. This means that it is important to execute builds as soon as possible after a code change is pushed to source control. One of the best ways to do this with GitHub and Jenkins is to use webhooks to have GitHub notify Jenkins when there is a change so that Jenkins can automatically start the build.

  1. Create Personal Access token in GitHub by going to | Profile | Settings | Developers Settings

    GitHubDeveloperSettings

  2. Personal access tokens

    Need an API token for scripts or testing? Generate a personal access token for quick access to the GitHub API.

    Personal access tokens function like ordinary OAuth access tokens. They can be used instead of a password for Git over HTTPS, or can be used to authenticate to the API over Basic Authentication.

    My personal access token is called “Jenkins” and select Admin:repo_hook and click Generate Token

    admin_repo_hook_access_token

  3. Copy your personal access token

    personal_access_token

  4. Now go to Jenkins

    Manage Jenkins | Configure System and add GitHub Server

    Add-GitHub-Server

  5. Add Jenkins to GitHub Server

    Add-Jenkins-To-GitHub-Server

  6. For Kind Select Secret Text and copy and past secret key from personal access token (Step 3). Create a name for ID and Description and ADD

    Jenkins_Credentials_Secret_Key

  7. Click drop down in credentials and select new credentials which we just created. In my case I called it as “GitHubKey”  Make sure Manage Hook SELECTED

    Manage_WebHooks

  8. Now go back to your project and the GitHub URL in Source Code Management and under Build Triggers select GitHub Hook Triggers GitSCM poling

    source_code_management_git_repositories

  9. To verify, go to your GitHub Repository | Settings | WebHooks

    webhooks-in-Github