In programming it’s quite often you need to wait for an action to complete or some service availability. There are many ways and tools which able to do that. I would like to tell about two python libraries I’ve worked with.
I’m pretty sure most of you familiar with Gitlab. It has a lot of features and nowadays it looks a bit bloated but one thing I really love in this tool. It’s Gitlab CI. One of the coolest thing there is it can run jobs on many platforms including virtual machines, Docker containers and Kubernetes.
As a quality engineer I responsible for testing various parts of a product. One of such part can be the web UI. But before your first UI test will be executed you will need to configure a lot of things. It might be a non-trivial task. Kubernetes can be quite helpful here and be actual “one ring to rule them all”.
Once upon a time I was need to configure a CI for a private github repo. Public CI providers such as Travis, CircleCI and other don’t provide free plans for private repos. Besides tests I wanted to run are not publicly available. So I decided to provision a Jenkins server inside corporate VPN. How to trigger a pipeline on PR? Github provides a webhooks mechanism. Generally speaking it’s a just HTTP request with some payload. And here we have a problem. How to pass a github webhook to the Jenkins which is not exposed to the Internet?