In this post, we look into two different approaches to solving the problem of building/pushing Docker images from a containerized Jenkins system. From that understanding, we will discuss the pros and cons of each approach in production Continuous Integration (CI) systems and how one should be used in practice.
Load Groovy Script in Jenkins Pipeline
In this post, we look into loading and reusing independent Groovy scripts for more modular and testable Jenkins pipeline. An example with Scripted Pipeline is provided although it is also applicable to newer Declarative Pipeline with minor modifications. Keep in mind that Jenkins Shared Libraries is the more scalable alternative to run and reuse custom Groovy scripts in Jenkins pipeline.
Docker: Files Not Found in Docker Container
In this post, we look into a perplexing issue that happens often when we try to extend an offical image.
In summary, there is currently no way to add additional content into VOLUME
directory in a trivial way.
If you unknowingly adds files into a folder that has been used as a VOLUME
mount point in a Docker image or one of its base images, the files cannot be found for seemingly no reason.
Docker: Override ENTRYPOINT
In this entry, we go over common mistakes when we try to override ENTRYPOINT
in a Docker image and how to do it properly.
Docker: Root User in a Pod
In the following scenario, we have some pod running in Kubernetes cluster.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
For troubleshooting purposes, we sometimes need to enter the container or execute some commands with root privilege.
Sometimes, we simply cannot sudo
or have the root password.
Kubernetes: Pause Container and Private Docker Registry
This post documents dealing with implicit container pause
in a corporate context, where Internet access is restricted and private Docker registry must be used.
Automated Downloading BART Parking Permits
Problem
I have been commuting to San Francisco using BART. For BART commutes, before having the Monthly Parking Permit, you usually have no choice but using Daily Parking Permits for car parking. You will often end up having to download multiple PDF files for the daily permits and print them to put on your vehicle’s dashboard. The BART reservation website offers no easy way to download all of them in one click (see the screenshot).
Personally, the BART commute itself is not that bad, especially when I usually find a seat. But it is really painful to download every … single … PDF … permit manually before printing them.