Skip to content

One semester course on tools for software automation - continuous deployment and integration

Notifications You must be signed in to change notification settings

wojciech11/se_software_build_automation_tools

Repository files navigation

Software Build Automation Tools

Requirements

  • Ubuntu (or other linux) or MacOS
  • Your favorite editor: vim/neovim, vscode, atom, or sublime, or other (e.g., Kakoune)
  • Your favorite IDE: PyCharm Community or vscode
  • (later) Docker installed

Program

  1. Basics: manual intro(pl) and manual git (pl) / slides:

  2. What is CI/CD? - manual(notes pl) / slides:

  3. Docker and packaging - manual:

    • Dependency hell
    • Packages
    • Docker
  4. Time for your project and versioning conventions - manual:

    • versioning conventions
  5. Continuous Deployment - manual / slides:

    • Heroku as an example of PaaS
    • Continuous Deployment with Github actions
  6. Summary & Exam - slides

Useful commands

  • Text editors:

    # 
    sudo apt update
    
    # choose your own adventure!
    
    # vim
    sudo apt-get install vim
    
    # neovim
    sudo apt install neovim
    
    # vscode
    sudo snap install code --classic
    
    # atom
    sudo snap install atom --classic
    
    # sublime
    # follow instructions from:
    # https://www.sublimetext.com/docs/linux_repositories.html
  • IDE

  • Python virtual environment:

    # create a venv in the .venv directory
    python3 -m venv .venv
    
    # activate
    source .venv/bib/activate
    
    # deactivate
    deactivate
  • Docker (after how to install Docker on ubuntu):

    # install docker
    sudo su
    
    apt-get update ;
    apt-get install -qq apt-transport-https ca-certificates curl software-properties-common ;
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - ;
    add-apt-repository 'deb [arch=amd64] https://download.docker.com/linux/ubuntu '$(lsb_release -cs)' stable' ;
    apt-get update ;
    apt-get install -qq docker-ce ;
    
    # do not forget to exit
    exit

Optional materials

About

One semester course on tools for software automation - continuous deployment and integration

Topics

Resources

Stars

Watchers

Forks