
This is a kitchen time conversation between two developer (John and Jean) working as a developer in an IT firm.
John: Hi Jean, how are you?
Jean: Hi John, I am good, thanks for asking. How are you?
John: I am also doing great. What’s going on your project? Anything interesting?
Jean: Yes, currently we are trying to move from Self managed to fully managed CI/CD tool. We did analysis on different tools and we found out Github Actions is the best fit for us. We are still contemplating the move! As it does not have a dashboard to monitor the status of all workflows at once.
John: That’s a simple question. Github Action doesn’t have an in-built dashboard, where you can see status of all of your pipelines. But I know a tool called Gitaction Board which can create your pipeline information from Github Actions to CCtray payload. Once it generates the CCtray payload you can use different tools like, NeverGreen, CCMenu etc to monitor the status.
Jean: That’s great, but as you know I am working in a small team, I don’t think it’ll be a good idea to maintain 2 different services for dashboard, one for CCtray generation and another to make it human readable dashboard.
John: Don’t worry about that, it also has an in-built UI, which creates a nice dashboard.
Jean: Oh really, can you tell me more about it, like how can I use it?
John: Gitaction Board provides a simple and lightweight docker image, using it you can create dashboard with in a couple of minutes.
Jean: That’s nice, but can you tell me how can I customize it to suit my needs.? For say, in my team we are only interested if the pipeline is either in failed or in running state, we don’t care about about success state. Can I do that using in-built dashboard?
John: Yes Jean, you can do it. You can toggle it on UI usinghide-healthy query param.
Jean: That’s it?
John: Yes, that’s it. Isn’t that simple?
Jean: Yes, it’s really simple.
Jean: Hey John, if I understood the GitHub Action concept correctly then I think this Gitaction Board internally uses GitHub APIs to fetch the data and then creates CCtray payload out of it. In that case, if a team consists of many developer and they all are using it then we’ll hit the GitHub rate limit, isn’t it?
John: Yes, your understanding is absolutely is correct. To mitigate this issue, Gitaction Board fetches the data from GitHub only when it’s requested. Also, it has couple of configurable strategy when you are using it’s in-built dashboard,
- Sometime we keep the dashboard open and do some other works. In such situations, by default it waits for 5 minutes and if it’s idle then it’ll stop polling until you reload the dashboard. This idle time can be configured using max-idle-time query parameter. In-case, you don’t like this feature, you also can disable it using disable-max-idle-time query param.
- Just like you can configure idle time using UI, you can also configure caching in the server side using CACHE_EXPIRES_AFTER environment variable. By default it’s configured with 60 seconds.
Jean: Great!! I can configure things as per my requirements. Can you tell me how can I configure my repositories?
John: Sure, it’s simple. To configure repository, you have to assign the following environment variables,
- You have to set REPO_OWNER_NAME which is usually your github username or your organisation name (if you want monitor repos of a organisation).
- Also, you have to set REPO_NAMES, which will hold the repositories names you want to monitor.
Jean: As you know I am working on client project and we use private github repository, can this tool be used in this scenario?
John: Yes, you can use it for private repositories as well. Again, you have to set the following environment variables,
- You have to set GITHUB_ACCESS_TOKEN so that Gitaction Board can access your private repositories.
- Also, if you are using self hosted GitHub, you have to set DOMAIN_NAME variable. By default, its https://api.github.com which is basically hostname of public GitHub.
Jean: All these things are really great but is it a paid tool? 🤔
John: No no, it’s a free open source tool, you can just get the docker image from docker hub and use it as per your need. Also, if you like you can contribute to the github project by adding new features or improve existing one.
Jean: I’ll definitely look into this tool. Thanks for sharing John 😄.
I hope by this time you have understood the features and easy configurations of Gitaction Board. Therefore, I hope it’ll be another option to choose from while you want to monitor GitHub Action workflows.
PS: I hope you’ve enjoyed it, and if you’ve found it useful, please feel free to share with others or leave a comment 😄. Also, feel free to check and contribute to the tool.
Originally posted on medium.com.