SSH Shell Access to your GitHub actions VM
SSH to GitHub Actions
SSH to GitHub Actions
SSH to GitHub Actions
Have you ever had a GitHub action fail and wish you could just quickly log in to the build vm to troubleshoot? Well, good news! That's the topic of today's blog, in which we'll explain how you can enhance your existing GitHub Actions with just a few lines of extra code so that you can get a shell to your actions VM each time it fails.
GitHub Actions has become an indispensable tool over the last few years, serving as a CI/CD pipeline for many code repositories. Like any codebase, bugs are inevitable. Fortunately, most are caught by integration tests run during the build process. The typical next step is to review the logs to identify the issue. However, sometimes the logs aren't enough, and direct access to the build vm is needed for troubleshooting. Unfortunately, that's not possible with GitHub Actions; today, today we're solving that!
Border0 allows users to access SSH, databases, and web applications without a VPN using their existing Single Sign-On (SSO) credentials. During a recent hackathon, we leveraged this feature to create a GitHub Actions plugin. This will allow users to quickly and easily log in to their GitHub action vm using just their Gmail, Github, or Microsoft SSO credentials.
Now, when your build action fails, you'll receive a notification. You can then use our browser-based WASM SSH client to troubleshoot issues directly on the virtual machine, identify the problem, fix it, and move on.
To make things easy, we've made the Border0 action available so that you can easily include it in your existing actions. Make sure to explore our GitHub repository and explore the README and examples here.
To get started, you'll need a Border0 account (Register here) and an API token. You can easily add the Border0 GitHub Action as an additional step in your existing workflow, as shown below:
From now on, the next time your action fails, you'll be able to log into your runner vm.
By default, the Border0 action creates an SSH service only when the action fails. However, you have more options. For instance, you may want the SSH service to run for every workflow run, regardless of its success or failure. An example of that can be found in the README.
Another useful addition is the Slack integration. This will inform you of the failed action and send the SSH url to your Slack workspace.
Using Border0 policies, you have complete control of who will have access to your build virtual machine. Not only can you define what SSO identities have access, but you can also configure specific IP addresses and countries and use date & time-based filters. Best of all, you'll get a complete session log, showing you exactly who logged in when, and from where, including a session recording. These recordings can then be replayed and show you exactly what commands were executed and what happened during the session. Great for compliance, troubleshooting, and even training purposes.
Troubleshooting your GitHub Actions just got a whole lot easier! In this blog we saw how easy it is to add the Border0 Action to your workflow and get a shell to your build vm each time there's a build failure. Sometimes, staring at the logs just isn't enough, and we really want a shell and poke around. This will allow you and the rest of your team to troubleshoot the issue faster and more efficiently.
Users can access their build vm using their existing SSO credentials, protected by the Border0 policies, so it's easy to define who should have access. Users can use their regular SSH client or the Border0 web SSH client, allowing them to quickly troubleshoot even from their tablet or phone!
To try out Border0 GitHub action today, sign up for our free, fully featured community edition and run the example for yourself! Alternatively, schedule a demo and let us walk you through a custom demo.