Commit Graph

3 Commits (54bd97105b8363dc29615e39e25b6bea4f1b1b01)

Author SHA1 Message Date
Dustin 54bd97105b ci: Build CLI RPMs for aarch64
dustin/sshca/pipeline/pr-master There was a failure building this commit Details
In order to automate certificate issuance and renewal for Raspberry Pi
devices, we need aarch64 builds of the `sshca` tool.  Using the `matrix`
feature of Jenkins pipelines lets us reuse the same stage definition for
building the client on both platforms.  Unfortunately, the `matrix`
block has to encompass the server stage as well, as `matrix` cannot be
nested below `parallel`, and we don't want to build the server and
clients sequentially.  This makes the code a bit less clear, as the
server and client stages are now conditional based on the matrix
intersection, but it is cleaner than duplicating the entire client
stage.
2023-11-10 19:34:42 -06:00
Dustin eec0bfc83c ci: Mount ssh_known_hosts in client build pod
dustin/sshca/pipeline/head This commit looks good Details
Apparently, the although the tooltip says " Volumes get mounted in all
containers with the specified mount path," volumes defined in the
default Pod Template in the Jenkins Kubernetes Cloud configuration
actually only get mounted in the JNLP agent container.  Containers
defined in the pod template YAML document are not included in this
interpretation of "all."
2023-11-10 12:06:51 -06:00
Dustin 2243e9e41d ci: Add Jenkins pipeline
dustin/sshca/pipeline/head There was a failure building this commit Details
The CI pipeline builds both the SSHCA server and client CLI.  The server
is published as an OCI image, while the latter uses RPMs.  Since
multiple RPMs with the same version cannot exist in the same repository,
and since RPM versions cannot be arbitrarily set after they have been
built, the RPMs are only published when building the *master* branch.
Server container images are published from every branch, as each image
is tagged with the branch name and build number.
2023-11-10 11:46:06 -06:00