Skip to content
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

Merged
merged 3 commits into from
Jul 30, 2020
Merged

Release Pipeline #2191

merged 3 commits into from
Jul 30, 2020

Conversation

axsaucedo
Copy link
Contributor

@axsaucedo axsaucedo commented Jul 24, 2020

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:

  • Get the VERSION
  • Remove the trailing -dev
  • Run the release scripts
  • Push to a branch with the name 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:

    - agent: tekton
      branches:
        entries:
        - createrelease
      name: createrelease
      context: "createrelease"

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 the createrelease 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 file jenkins-x-createpipeline.yml we'll have to update the branch, which is not as bad given it is quite minimal.

@seldondev
Copy link
Collaborator

Fri Jul 24 14:15:41 UTC 2020
The logs for [lint] [2] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/2.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=2

@seldondev
Copy link
Collaborator

Fri Jul 24 14:15:47 UTC 2020
The logs for [pr-build] [1] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/1.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=1

@seldondev
Copy link
Collaborator

Tue Jul 28 13:03:54 UTC 2020
The logs for [pr-build] [3] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/3.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=3

@seldondev
Copy link
Collaborator

Tue Jul 28 13:03:55 UTC 2020
The logs for [lint] [4] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/4.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=4

@axsaucedo axsaucedo changed the title WIP: Release Pipeline Release Pipeline Jul 28, 2020
@axsaucedo
Copy link
Contributor Author

/cc @adriangonz
/cc @gsunner

@seldondev
Copy link
Collaborator

Tue Jul 28 13:09:43 UTC 2020
The logs for [pr-build] [5] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/5.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=5

@seldondev
Copy link
Collaborator

Tue Jul 28 13:09:54 UTC 2020
The logs for [lint] [6] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/6.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=6

Copy link
Contributor

@adriangonz adriangonz left a 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
Copy link
Contributor

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!

@seldondev
Copy link
Collaborator

[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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@seldondev
Copy link
Collaborator

Thu Jul 30 08:44:39 UTC 2020
The logs for [lint] [8] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/8.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=8

@seldondev
Copy link
Collaborator

Thu Jul 30 08:44:54 UTC 2020
The logs for [pr-build] [7] will show after the pipeline context has finished.
https://github.com/SeldonIO/seldon-core/blob/gh-pages/jenkins-x/logs/SeldonIO/seldon-core/PR-2191/7.log

impatient try
jx get build logs SeldonIO/seldon-core/PR-2191 --build=7

@seldondev seldondev merged commit af6b55a into SeldonIO:master Jul 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants