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

Make jenkins service optional for Spryker harness #377

Merged
merged 4 commits into from
Sep 14, 2020

Conversation

hgajjar
Copy link

@hgajjar hgajjar commented Aug 21, 2020

As the jenkins service requires lots of resources, it's not ideal to use it in pipeline and local environments as it is. There is some thought to move jenkins master to a shared service in pipeline env, so that can be shared across all pipeline environments, but that might require quite some work.

So for now I have make this service optional and disabled it by default, so we can already add a demo k8s env for it with argocd for example.

Adding cron service support to Spryker harness might be useful, but it would have problems with limiting concurrent crons leading to resource issues as Andy raised.

@hgajjar hgajjar added the harness-spryker Spryker harness label Aug 21, 2020
@andytson-inviqa
Copy link
Contributor

andytson-inviqa commented Aug 21, 2020

but it would have problems with limiting concurrent crons leading to resource issues as Andy raised.

As well as single point of failure if used in critical environments, and not make good use of the full cluster as one container

For dev experience locally and CI it's good though (not sure whether the CI automated testing environment is around long enough to need the crons running though)

@@ -20,8 +20,6 @@ attributes:
- redis
- elasticsearch
- rabbitmq
- jenkins
- jenkins-runner
Copy link
Contributor

@andytson-inviqa andytson-inviqa Aug 21, 2020

Choose a reason for hiding this comment

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

As we're looking to keep backwards compatibility can it be on by default?

Also atm this service config is required for docker images to be pushed and deployed, we need to have a different way of saying it shouldn't be used for dev/CI(built but not started) but should for deployment. This could be another PR though if backwards compatibility is maintained here

@hgajjar
Copy link
Author

hgajjar commented Aug 24, 2020

but it would have problems with limiting concurrent crons leading to resource issues as Andy raised.

As well as single point of failure if used in critical environments, and not make good use of the full cluster as one container

For dev experience locally and CI it's good though (not sure whether the CI automated testing environment is around long enough to need the crons running though)

CI env does not need crons running, as we are running the rabbitmq sync command at the end of init. However, the pipeline environments (QA/UAT/etc) would need it

@kierenevans kierenevans force-pushed the feature/make-jenkins-optional branch from 542bf4f to 0848e5d Compare August 25, 2020 11:56
@kierenevans
Copy link
Contributor

I've rebased this on top of latest 0.10.x with #382 merged in, applied #382 to the new enable.sh.twig location for jenkins-runner and allowed cron and jenkins-runner to be in the same environment.

@kierenevans kierenevans added the enhancement New feature or request label Sep 3, 2020
@kierenevans kierenevans added this to the 0.10.0 milestone Sep 3, 2020
@hgajjar hgajjar merged commit 6b6be5b into 0.10.x Sep 14, 2020
@hgajjar hgajjar deleted the feature/make-jenkins-optional branch September 14, 2020 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request harness-spryker Spryker harness
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants