How do I deploy to an internal server behind our firewall?

I am newish to GitHub and completely new to GitHub Actions.  We are looking to move our source code to GitHub Enterprise Cloud.

We are using Team City currently behind our firewall to deploy internal applications for our organization when changes are committed.

How could I use GitHub Actions to build an application upon commit and then deploy internally?

Thanks for your help!

I would recommend you to set up self-hosted runner in the same network environment as your internal server behind your firewall.  

You need to open 443 port for self-hosted runner to communicate with Github. 

https://github.community/t5/GitHub-Actions/Which-ports-does-a-self-hosted-runner-need/m-p/39409

Thanks for the info. 

Is it possible to use a GitHub-Hosted Runners and deploy internally?  Or are GitHub-Hosted Runners meant for deployment to cloud destinations?

Yes, you could use Github-Hosted Runners to deploy to internal server. GitHub Hosted Windows or Ububtu runner use the same IP address arranges as Azure Data Center. You can following our documentation here to get the IP address: IP addresses of GitHub-hosted runners

The IP address is not stable, it will change every week .  So in my opinion, use self-hosted runner is a better choice. 

So who uses GitHub-Hosted Runners?  What are some of the use cases?

I’m thinking like generating Nuget Packages would be one where the build bits are left in GitHub?

Many people use Github Hosted Runner. GitHub hosts Linux, Windows, and macOS runners. Jobs run in a fresh instance of a virtual machine that includes commonly-used, preinstalled software. GitHub performs all upgrades and maintenance of GitHub-hosted runners. You cannot customize the hardware configuration of GitHub-hosted runners.

You could refer to this official document: https://help.github.com/en/actions/getting-started-with-github-actions/core-concepts-for-github-actions#github-hosted-runner

>>I’m thinking like generating Nuget Packages would be one where the build bits are left in GitHub?

After finishing the job, the build bits will be cleaned from the Github Hosted virtual machine.