Please see the replacement repositories available for Node.js, Go, Java Liberty, Java Spring, Python Flask, Python Django, and Swift.
This repository will not be updated. The repository will be kept available in read-only mode.
We have similar applications available for Node.js, Java Spring, Swift, Python Django and Flask, and Java Liberty.
In this sample web application, you will create a web application using Gin to serve web pages in Go, complete with standard best practices, including a health check.
This app contains an opinionated set of files for web serving:
public/index.html
public/404.html
public/500.html
You can deploy this application to IBM Cloud or build it locally by cloning this repo first. Once your app is live, you can access the /health
endpoint to build out your cloud native application.
Click Deploy to IBM Cloud to deploy this same application to IBM Cloud. This option creates a deployment pipeline, complete with a hosted GitLab project and a DevOps toolchain. You can deploy your app to Cloud Foundry, a Kubernetes cluster, or a Red Hat OpenShift cluster. OpenShift is available only through a standard cluster, which requires you to have a billable account.
IBM Cloud DevOps services provides toolchains as a set of tool integrations that support development, deployment, and operations tasks inside IBM Cloud.
To get started building this web application locally, you can either run the application natively or use the IBM Cloud Developer Tools for containerization and easy deployment to IBM Cloud.
All of your go
dependencies are stored inside of go modules
.
- Install Go
In order for Go applications to run locally, the project contents must be placed in the following path:
cd $GOPATH/src/gowebapp
Import dependencies from go modules:
dep ensure
Once the dependencies have been installed, you can compile a Go project with:
go install
To run your application locally:
go run server.go
Your sources will be compiled to your $GOPATH/bin
directory. Your application will be running at http://localhost:8080
.
Install IBM Cloud Developer Tools on your machine by running the following command:
curl -sL https://ibm.biz/idt-installer | bash
Create an application on IBM Cloud by running:
ibmcloud dev create
This will create and download a starter application with the necessary files needed for local development and deployment.
Your application will be compiled with Docker containers. To compile and run your app, run:
ibmcloud dev build
ibmcloud dev run
This will launch your application locally. When you are ready to deploy to IBM Cloud on Cloud Foundry or Kubernetes, run one of the commands:
ibmcloud dev deploy -t buildpack // to Cloud Foundry
ibmcloud dev deploy -t container // to K8s cluster
You can build and debug your app locally with:
ibmcloud dev build --debug
ibmcloud dev debug
- Learn more about augmenting your Go applications on IBM Cloud with the Go Programming Guide.
- Explore other sample applications on IBM Cloud.
This sample application is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.