Commit Graph

8 Commits (main)

Author SHA1 Message Date
Dustin 261a961bf0 Build for aarch64 as well
ContainerImages/jenkins-base/pipeline/head This commit looks good Details
2025-08-13 21:52:23 -05:00
Dustin 167075ecb5 Install and use tini
ContainerImages/jenkins-base/pipeline/head This commit looks good Details
Using `python` as PID 1 like this doesn't actually work because PID 1
doesn't have any default signal handlers.  Thus, when the container
runtime tries to stop the container by sending SIGTERM to the main
process, nothing happens and it eventually has to send SIGKILL to stop
it.  By using a "real" init process as PID 1, we can be sure that signal
handlers are set up correctly, plus, we won't leave a bunch of zombie
processes while the container is running.
2025-02-07 19:49:22 -06:00
Dustin eb8d157a34 Add dch-root-ca.crt
ContainerImages/jenkins-base/pipeline/head This commit looks good Details
2025-02-01 17:54:01 -06:00
Dustin e108d17a91 Remove SSH Known Hosts command config
This has not been necessary for quite some time, as the SSH host key
database is managed as a ConfigMap now.
2025-02-01 17:52:18 -06:00
Dustin 8b3725f8dc Update to latest Fedora
ContainerImages/jenkins-base/pipeline/head This commit looks good Details
There's really no reason to pin to a specific version of Fedora.  Doing
so just means we're going to be perpetually behind, since I'm never
going to remember to update it manually.
2025-02-01 17:33:04 -06:00
Dustin 3bbd148d33 Remove USER directive
ContainerImages/jenkins-base/pipeline/head This commit looks good Details
I forgot that not only does USER apply to the process launched inside
the container, it also applies to any directives later in the build
process, including those for images that inherit FROM this image.  As
such, those images would have to have a USER directive before running
anything as root, e.g. `dnf install`, and then another USER directive to
set the process user.  Since this image isn't intended to be used
directly there's really no point in setting USER here, then.
2022-12-03 10:01:40 -06:00
Dustin a65ab04155 Integrate changes from various other images
ContainerImages/jenkins-base/pipeline/head This commit looks good Details
I've created a few container images for Jenkins jobs over the past few
weeks, and many of them have several steps in common.  Moving those
steps to the *jenkins-base* image will simplify the rest and make it
easier to create new ones.

* Use UID 1000 for the *jenkins* user, since this is the UID the Jenkins
  agent JNLP container uses
* Configure the SSH client `KnownHostsCommand` setting to fetch the SSH
  host key database from the file server
* Run as the unprivileged user
* Add a "sleep forever" type entry point: Python's `signal.pause()`
  waits for a signal from the operating system, where as other solutions
  are either uninterruptable (`sleep infinity`) or wake frequently
  (`tail -f /dev/null`)
2022-12-03 09:34:22 -06:00
Dustin 9a98c7bbc0 Initial commit
ContainerImages/jenkins-base/pipeline/head There was a failure building this commit Details
2022-11-06 20:56:35 -06:00