Watch the video GitHub Referece

Development Environment

The Golang Development Environment is setup as follows:

We use GoLand as the primary Integrated Development Environment tool.

  • GoLand with Git Servers: to connect to Git Server,GitLab Server, Bitbucket and Github
  • GoLand with Git: to manage Code Control - Local and Remote Git activities.
  • GoLand Debug: to debug and learn everything about Golang
  • GoLand Remote Debug: to remote debug to diagnose code issues and defects in the integration
  • GoLand and Docker Desktop as an Integrated Development Environment: to create the development environment using Docker and Kubernetes e.g. Kafka, Database, JBoss, Web servers (Apache, nginx, jetty)
  • We use TeamCity or Jenkins to perform CI/CD
  • We use HttpClient plugin comes with GoLand for Restful Integrated Testing

My Development Environement

  • Docker Desktop: We use Docker Desktop to deploy various environments used for the development and the integration testing:

The reasons for composing the docker services and/or kubernetes pods are:

  • We allow each Developer to replicate the Development Environment with docker, thus suitable for microservice team and work breakdown
  • We deploy the application in the Development Environment to the application in the Testing Environment with docker
  • We deploy the application with CI/CD in mind and automate testing

Docker Desktop Development Environement

  • When we learn a new computer language, the debug will assist the learning. We setup two approaches to debug Golang:
    • We use the GoLand IDE debug the code
  • When the Developers work with the Testers to trace any issues
    • We use the GoLand or Visual Code IDE to perform the remote debug to a Golang process

Study

Development Tools

  • Refer to Developement Tools to see how use the GoLand and Docker Desktop