-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Jenkinsfile compose pipeline #5
Conversation
Add a Jenkinsfile that runs the treecompose and publishes it. Right now, this is only running the `rhcos` variant, so it's publishing to some place private. The next steps are to also build cloud images, and to also build the `origin` CentOS-based variant and push that out somewhere public. I brought back the RHEL repos here for simplicity; I'd like to keep as much of the logic as possible right here. Though I'm open to changing this back.
def DOCKER_ARGS = "--net=host -v /srv:/srv --privileged" | ||
|
||
// this var conveniently refers to a location on the server as well as the local dir we sync to/from | ||
def repo = "${env.ARTIFACT_SERVER_DIR}/repo" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
quick question, where does this env variable get defined? Is it on the jenkins side? =)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's correct, this is defined on the Jenkins side since it depends on where it runs. We'll need to make this more flexible if we want to support e.g. GCS buckets.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question before I 👍
@@ -110,7 +110,8 @@ | |||
"sg3_utils", | |||
"glusterfs-fuse", | |||
"dnsmasq", | |||
"oci-umount" | |||
"oci-umount", | |||
"origin-node" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 for adding origin-node
at this stage in development. Reminder to us all that this will be replaced with a node that is built upon upstream merges later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To clarify, origin-node
was in the main manifest before. This is a small revert of #2, which changed that to atomic-openshift-node
for RHEL. So we might need to revert this -- the OpenShift repo we're using right now does have it though.
docker.image(DOCKER_IMG).inside(DOCKER_ARGS) { | ||
stage("Provision") { | ||
sh "dnf install -y git rpm-ostree rsync openssh-clients" | ||
sh "cp RPM-GPG-* /etc/pki/rpm-gpg/" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks similar to what's happening in the Dockerfile but in this case it looks like it's doing it on the node. Am I reading this right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's correct. Since we're running in a Fedora container, we're not gonna have those keys available. I just copy them all since I'd like to generalize the Jenkinsfile to build both the rhcos
and the origin
variants.
/lgtm |
Add a Jenkinsfile that runs the treecompose and publishes it. Right now,
this is only running the
rhcos
variant, so it's publishing to someplace private. The next steps are to also build cloud images, and to
also build the
origin
CentOS-based variant and push that out somewherepublic.
I brought back the RHEL repos here for simplicity; I'd like to keep as
much of the logic as possible right here. Though I'm open to changing
this back.