Skip to content

Added notice for setting up external jenkins #3452

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

Merged
merged 1 commit into from
Jan 10, 2017
Merged

Added notice for setting up external jenkins #3452

merged 1 commit into from
Jan 10, 2017

Conversation

oatmealraisin
Copy link

@oatmealraisin oatmealraisin commented Jan 6, 2017

This is for users interested in using existing Jenkins servers for
the pipeline build strategy.

I have language for putting more detail into the Pipeline page, but it seems that the External Services page is sufficient.

@oatmealraisin
Copy link
Author

@bparees sorry, forgot to ping you. ptal?

@ahardin-rh
Copy link
Contributor

@oatmealraisin Thanks! Is this for 3.4, or does it apply to the current release?

@oatmealraisin
Copy link
Author

oatmealraisin commented Jan 9, 2017

@ahardin-rh It should apply to the current release, but I'll let Ben have the final word on that

@bparees
Copy link
Contributor

bparees commented Jan 9, 2017

the technique applies to 3.4 and beyond, since 3.4 is when we introduced autoprovisioning.


[IMPORTANT]
====
If you're using an external Jenkins server to manage your pipeline, you'll need
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/you're/you are
s/you'll need to create/you must create

====
If you're using an external Jenkins server to manage your pipeline, you'll need
to create a service for {product-title} to use it.
xref:../dev_guide/integrating_external_services.adoc#dev-guide-integrating-external-services[Learn more about integrating external services.]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we want to say more on this topic. We are trying to communicate two things:

  1. if you want to prevent autoprovisioning from happening, you can do so by creating a properly named service(and make it clear how to determine that name), which will block the autoprovisioning (because the service already exists).

  2. one reason you might want to do (1) is because you already have a jenkins server that you want to use. that server could be running in another project, or external to openshift entirely. either way, you should point the service you create in fulfillment of (1), to that jenkins, using the external service mechanism.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to absorb the warning above to try not to repeat information, how does that sound?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes i think it's all related information that can be in a single warning/note block.

@oatmealraisin
Copy link
Author

@bparees I've updated the language to try and be more clear about why you would manually create a service. However, I didn't explicitly say that you could disable autoprovisioning by creating a Service matching serviceName. My worry is that we'd have to take more language to explain the case where you couldn't edit the autoProvisionEnabled option. Let me know if I should use this language anyways :)

Also, I noticed that this pull was tagged branch/online. I don't think that this document is part of the online docs. The next best section I could find in Builds and Image Streams just points to Configuring Pipeline Execution, which 404s. It doesn't look like that is reflected by the Online documentation, though.

I've made changes to Builds and Image Streams, ptal?

@bparees
Copy link
Contributor

bparees commented Jan 9, 2017

My worry is that we'd have to take more language to explain the case where you couldn't edit the autoProvisionEnabled option.

i still think we need to discuss it. there are really two cases and we should mention them both:

  1. you're a user, not a cluster admin
  2. you want auto provisioning in some projects but not others

@oatmealraisin
Copy link
Author

@bparees I've removed the IMPORTANT tag and expanded on what is said. I mentioned the second case at the end of the article, is that sufficient?

xref:../dev_guide/integrating_external_services.adoc#dev-guide-integrating-external-services[Learn more about integrating external services.]
endif::[]
ifndef::openshift-online[]
For more details on how the Jenkins server is deployed, see
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"For more details on how the Jenkins server is deployed and how to configure or disable the autoprovisioning behavior, see"

server external to {product-title}, for example), create a Service with the
name `*jenkins*` in your project, and configure it to point to the external
Jenkins.
xref:../dev_guide/integrating_external_services.adoc#dev-guide-integrating-external-services[Learn more about integrating external services.]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drop these lines (145-150). in general we try to keep implementation/config details out of the "architecture" section. it's a high level overview of concepts, not a usage guide.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that the install_config section will show up for online documentation, should we put this blurb somewhere else or leave it out?

Jenkins.
xref:../dev_guide/integrating_external_services.adoc#dev-guide-integrating-external-services[Learn more about integrating external services.]
endif::[]
ifndef::openshift-online[]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this ifndef?

Copy link
Author

@oatmealraisin oatmealraisin Jan 10, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The document in the link doesn't exist in the online version, and will lead to a 404

edit: I removed them in the latest version

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but it sounds like that means online users will have no guidance whatsoever for how to disable autoprovisioning.

* If you're a cluster admin, simply set `*autoProvisionEnabled*` to `*false*`.
This will disable autoprovisioning across the cluster.
* If you're an unpriviledged user, a Service must be created for {product-title}
to use. The default value of `*serviceName*` is `*jenkins*`. However, this only
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"The service name must match the cluster configuration value of serviceName in the jenkinsPipelineConfig. The default value is jenkins."

* If you're an unpriviledged user, a Service must be created for {product-title}
to use. The default value of `*serviceName*` is `*jenkins*`. However, this only
disables autoprovisioning on a project-by-project level.
xref:../dev_guide/integrating_external_services.adoc#dev-guide-integrating-external-services[Learn more about integrating external services.]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"If you are disabling autoprovisioning because you are running a Jenkins server outside your project, it is recommended to point this new service to your existing Jenkins server. See:"

@oatmealraisin
Copy link
Author

@bparees I've implemented your requests, ptal?

@bparees
Copy link
Contributor

bparees commented Jan 10, 2017

lgtm

@oatmealraisin
Copy link
Author

@ahardin-rh ptal/merge?

(if you would like to use a Jenkins server external to {product-title}, for
example), there are a few things you can do, depending on who you are.

* If you're a cluster admin, simply set `*autoProvisionEnabled*` to `*false*`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/you're/you are
s/admin/administrator


* If you're a cluster admin, simply set `*autoProvisionEnabled*` to `*false*`.
This will disable autoprovisioning across the cluster.
* If you're an unpriviledged user, a Service must be created for {product-title}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/you're/you are

to use. The service name must match the cluster configuration value of
`*serviceName*` in the `*jenkinsPipelineConfig*`. The default value is
`*jenkins*`. If you are disabling autoprovisioning because you are running a
Jenkins server outside your project, it is recommended to point this new
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is recommended that you point this new...

@ahardin-rh
Copy link
Contributor

@oatmealraisin just a few minor nits from me. Once those are addressed and commits squashed, we should be golden. 🌟 Thanks!

This is for users interested in using existing Jenkins servers for
the pipeline build strategy.
@oatmealraisin
Copy link
Author

@ahardin-rh Done! Merge?

@ahardin-rh ahardin-rh merged commit 0c45c40 into openshift:master Jan 10, 2017
@ahardin-rh
Copy link
Contributor

[rev_history]
|xref:../architecture/core_concepts/builds_and_image_streams.adoc#architecture-core-concepts-builds-and-image-streams[Core Concepts -> Builds and Image Streams]
|Added information on how the first time a project defines a build configuration using a Pipeline strategy, {product-title} instantiates a Jenkins server to execute the pipeline.
%
|xref:../install_config/configuring_pipeline_execution.adoc#install-config-configuring-pipeline-execution[Configuring Pipeline Execution]
|Added information about setting up an external Jenkins server.
%

@vikram-redhat vikram-redhat modified the milestones: Future Release, Staging, OCP 3.4 GA Jan 16, 2017
@adellape adellape modified the milestones: OCP 3.4 GA, Staging, Temp Feb 1, 2017
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.

5 participants