Deploy your Application using GitHub Actions
Tags: beginners, cloud, github, pipeline
Published: 2021-05-10 15:49:08

To make it easier for you to consume I have created this tutorial by breaking it down into bite size chunks in GitHub. It makes a bit more sense and makes reading / following the workshop a little easier, as opposed to having a long thread of pictures and code snippets. **Everything in this tutorial is free - no credit card is needed at all**

---

## Workshop Links:
### Workshop Tutorial 

{% github IBMDeveloperUK/Deploy-To-IBM-Cloud-With-GitHub-Actions no-readme %}

### Working Example

{% github liamchampton/github-actions-demo no-readme %}

---

The purpose of this tutorial is to show you how to create a small Go application on your system and then deploy it into IBM Cloud Foundry using GitHub Actions.
 
In this tutorial there are a few bits of tech involved.

1. [IBM Cloud](https://ibm.biz/BdffAw) - The cloud provider of choice
2. IBM Cloud Foundry - The cloud service
3. Golang Application (or an application of your choice)
4. GitHub platform - The code repository platform
5. GitHub Actions - The platform service

[IBM Cloud Foundry](https://www.ibm.com/cloud/cloud-foundry) is a neat tool that allows you to run your apps in the cloud with very little hassle. You essentially create the app you wish to run in the cloud, set up a small config file (this is optional) and then you push it into IBM Cloud via the CLI. It's a sleek process as far as Cloud deployments are concerned. IBM Cloud Foundry is free to use, and it is included in the Lite Tier account which you can [sign up](https://ibm.biz/BdffAw) for free. Check out the [docs](https://cloud.ibm.com/docs/cloud-foundry-public) for more information and supported runtimes.

[GitHub](https://github.com) is a great code repository platform which is widely used by developers all over the world. A fantastic feature within GitHub is called GitHub Actions. GitHub Actions is essentially a pipeline tool integrated into GitHub allowing you to deploy your code into an environment of your choice. This is the beginning  of your CI/CD journey with your application.

To do this, you need to create a workflow configuration file outlining the platform and all the configurations you need and then specify how to deploy your application. Much like other pipeline tooling, it has images and buildpacks available for you to use.

## A possible use case
You have just built your amazing personal website and manually deployed it into the cloud hosting provider. It outlines your achievements, your personal projects, and your work history.

This works well for the time being as it holds current, up-to-date information. But let's say you have just earned a new qualification and you want it to add it to your website. You will now need to write the new code, wrap it up, push the code into GitHub and then manually deploy it again.

This is where GitHub Actions comes in. It will automate the last part for you. All you should do is focus on writing the code. Let the deployment be taken care for you.

This is just one example and running the risk of turning this blog into a DevOps discussion but that is another can of worms for another time. I hope you enjoy the workshop tutorial and find is useful! :tada:

If you have any questions or want to see more content like this, feel free to drop me a line :memo:

[GitHub](https://github.com/liamchampton) | [Twitter](https://twitter.com/liamchampton) | [Instagram](https://www.instagram.com/liamhampton/) | [LinkedIn](www.linkedin.com/in/liam-conroy-hampton)