-
Notifications
You must be signed in to change notification settings - Fork 824
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
Release Pipeline #2191
Release Pipeline #2191
Conversation
Fri Jul 24 14:15:41 UTC 2020 impatient try |
Fri Jul 24 14:15:47 UTC 2020 impatient try |
Tue Jul 28 13:03:54 UTC 2020 impatient try |
Tue Jul 28 13:03:55 UTC 2020 impatient try |
/cc @adriangonz |
Tue Jul 28 13:09:43 UTC 2020 impatient try |
Tue Jul 28 13:09:54 UTC 2020 impatient try |
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.
Awesome! This looks good @axsaucedo !
git fetch origin master | ||
git checkout master | ||
|
||
# Don't exit on failure so we can test branch exists |
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 a clever trick!
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: adriangonz The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Thu Jul 30 08:44:39 UTC 2020 impatient try |
Thu Jul 30 08:44:54 UTC 2020 impatient try |
This PR contains functionality to allow us to perform a release with the command:
jx pipeline start SeldonIO/seldon-core/createrelease
What this pipeline will do is:
-dev
release-$VERSION
Once the branch is pushed, the usual
release
pipeline will be triggered, which means all containers will be pushed. The key thing is that the only things outstanding will be to do any manual steps such as pushing to the helm charts, and to pypi. However if we want to automate anything else such as the creation of the changelogs, this could be done by adding it to the release script.For complenetess, the jx scheduler added is the following:
Disadvantage of current implementation
The pipeline will have to be triggered using the source code of the branch
createrelease
, and this is due to the limitation explained below.Explanantion of the pipeline
The current setup is slightly limited due to a constraint in jenkins X, namely that it's not possible to create "release pipelines" that are NOT triggered on every merge.
The
createrelease
pipeline will not be connected in the master branch - that would've been ideal, as that way we can make sure the code executed is always the latest. However given that if we connect thecreaterelease
pipeline to the master branch, it would get triggered every time a new PR is merged, which is not something we want (as we want to trigger it on demand with the command).Because of this, we have to connect the pipeline to a branch called
createpipeline
, which means that every time we change the CI script or the filejenkins-x-createpipeline.yml
we'll have to update the branch, which is not as bad given it is quite minimal.