Workflow in the context that I’m using it refers to the setup of both the infrastructure and programs that I use in my day to day life, whether it be for the servers that I manage or for the projects that I develop.
You can read about my workflow down below, or use the beta SVG version that I’m working on by clicking here.
My main server and workstation is a custom PC build inside of a Corsair Graphite Series 230T that has remained mostly unchanged from 2014, with a couple of notable exceptions.
- CPU: Intel Core i7-4790k (originally an Intel Pentium G3258)
- CPU Cooler: Corsair Hydro Series H75 (originally an Intel stock cooler)
- Motherboard: Gigabyte GA-Z97X-SLI
- Memory: 4x4GB Corsair Vengeance DDR3 1600MHz (originally 2x4GB)
- Graphics Card: EVGA GeForce GTX 760 Superclocked (originally Intel Integrated Graphics)
- Power Supply: Antec High Current Gamer 620W Semi Modular (original unknown)
- The operating system used is
Ubuntu 16.04 LTS.
- The desktop environment used is
Openbox, supplemented by the usage of
- xfce4-terminal is used as the main terminal, with zsh as its main shell. zsh is supplemented with
- Server requests are handled by a single
NGINXinstallation, which reverse proxies a majority of requests to Docker containers. A few subdomains still run outside of a container environment. These can be found on the Network page.
- A majority of my servers are deployed using
Dockercontainers. There are a few exceptions which can be found on the Network page.
Atom Text Editor.
- Most compiled code (i.e. Java, C++, etc.) is written inside of
- Android code is written inside of
- Git is used as the version control system on all of my open source projects. All of these projects can be found on my GitHub repository or on the Projects page.
- Trello is used in order to manage my tasks and to-dos for each of my projects.
- Jenkins is used to build and run unit testing for some of my projects. Testing of all applications is a work in progress. More information regarding my Jenkins installation can be found on the Network page.
- The laptop I use for development and other tasks when I am away from my primary workstation is an HP Folio 13 Ultrabook. This laptop runs Ubuntu 16.04 LTS as well.
- To develop remotely, my laptop connects through an OpenVPN tunnel in order to gain access to my server at home.
- GNU Screen is used to manage my remote SSH sessions, while VIM is used as my primary code editor.