Graduate Program KB

Term 1 - Week 1

Set up Accounts

Reinstall Ubuntu

Use the installation guide here to re-install Ubuntu on your new laptop. Note: Step 7, Enable Encryption is mandatory and should not be skipped.

Install Applications

  • Install Chrome Browser

  • Install Pip

    sudo apt install python3-pip
    
  • Install Docker

  • Setup the Microsoft Teams Progressive Web Application (PWA) in Chrome

  • Fix broken Teams notifications sounds

  • Add Visual Studio Code Repository

      sudo apt-get install wget gpg
      wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
      sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
      sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
      rm -f packages.microsoft.gpg
    
  • Install Visual Studio Code

      sudo apt install apt-transport-https
      sudo apt update
      sudo apt install code
    
  • Install VS Code Live Share Extension

    • Open VS code
    • Hit ctrl-p
    • Enter ext install MS-vsliveshare.vsliveshare
    • Login by clicking Live Share in the bottom status bar image
    • Sign in with your J1 microsoft account
  • Install VS Code MDX Extension

    • Open VS code
    • Hit ctrl-p
    • Enter ext install unifiedjs.vscode-mdx
  • Install AWS CLI

      curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
      unzip awscliv2.zip
      sudo ./aws/install
      rm -r awscliv2.zip aws
    
  • Install Git Remote Codecommit (GRC)

      sudo pip install git-remote-codecommit
    
  • Install NVM

      curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
    
  • Install Latest Version of Node (Using NVM)

      nvm install node
    
  • Install rebase-editor

      npm install -g rebase-editor
    
  • Configure git to use rebase-editor by default

      git config --global sequence.editor rebase-editor
    
  • This may cause potential issues (particularly when it comes to executing a rebase),
    Use below command to set VIM as your rebase editor:

    git config --global core.editor vim
    

Set Visual Studio Code as the default text editor

  • For shell
      echo "export EDITOR=code" >> ~/.profile
    
  • For the desktop environment
    sudo update-alternatives --config editor
    
    Enter the number for /usr/bin/code

AWS SSO Configuration

  • Create Sandbox Profile

      aws configure sso
      Session name: J1
      SSO start URL: https://j1.awsapps.com/start
      SSO region: ap-southeast-2
      SSO registration scopes: (leave blank)
      select sandbox with your name (firstname-lastname-sandbox)
      CLI default client Region: ap-southeast-2
      CLI default output format: json
      CLI profile name: sandbox
    
  • Configure Product Factory Profile

      aws configure sso
    

    Use same settings as above except selecting the pf-workload account and name the profile pf-workload-developer

Refresh AWS Token

  • Note: Your AWS session token for pf-workloads-developer account will most likely have expired (it's only valid for 8 hours). You'll need to get a new session token. In your terminal type the following and follow the prompts:
      aws sso login --profile pf-workload-developer
    

Create bash alias for token refresh

  • Write this in ~/.bash_aliases
      alias login-pf='aws sso login --profile pf-workload-developer'
    

Configure Git Profile

  • git config --global user.email "firstname.lastname@journeyone.com.au"
    git config --global user.name "Your Name"
    

Check out the Graduate Knowledge Base Repository

  • login into aws
  • switch to (ap-southeast-2) Sydney region near the top right corner next to your account
  • Go to Codecommit
  • Clone URL -> Clone HTTPS (GRC)
  • Add pf-workload-developer profile after the ://
  • Example
      git clone codecommit::ap-southeast-2://pf-workload-developer@graduate-programme-kb-v2
    

Set up Jira

  • You should have an email with an invite to set up a Jira account
  • After creating the account go to the security tab of the atlassian account settings
    • Set up 2fa
    • Create an API token called dev-terminal-env

Set up the development terminal

Clone Jibility

  • From the devterm
    git clone git@gitlab.com:jihua/jibility.git
    

Bookmark Jibility feature toggles

https://localhost:9000/?ft=dev-tools,support-view

Increase node's max heap size

echo 'export NODE_OPTIONS="--max-old-space-size=4096"' >> ~/.profile

Increase swap space

sudo fallocate -l 16G /swapfile
sudo chmod 0600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo bash -c "echo -e '/swapfile\tnone\tswap\tsw\t0\t0' >> /etc/fstab"

This creates a file at /swapfile that will be used when the system runs out of RAM. To delete the swapfile use

sudo swapoff /swapfile
sudo rm /swapfile

And remove the line referencing /swapfile from /etc/fstab

Increase the maximum number of file watches for a process

sudo bash -c "echo 'fs.inotify.max_user_watches = 500000' >> /etc/sysctl.conf"
sudo sysctl --system

Term 1 - Week 3

Set up Accounts