= Code Valet

image:https://badges.gitter.im/codevalet/codevalet.svg[Gitter, link=https://gitter.im/codevalet/codevalet]
image:https://codevalet.codevalet.io/job/codevalet/job/master/badge/icon[Code Valet on Code Valet, link=https://codevalet.codevalet.io/blue/organizations/jenkins/codevalet/activity]

image::https://github.com/rtyler/codevalet/raw/master/assets/monkey-128.png[Code Valet is a Monkey]

== Joining Code Valet

Currently Code Valet is in private alpha, to receive updates on our progress
and join the private alpha/public beta, please sign up for
link:https://tinyletter.com/codevalet[our newsletter].

== Adding Plugins

The Jenkins masters which run in the Code Valet cluster will take the
link:https://ci.jenkins.io/blue/organizations/jenkins/Core%2Fjenkins/activity?branch=master[latest core build]
and build the `master` branch of all the plugins listed in `plugins.txt` in
this repository, and all of those plugins' dependencies.

In order to propose a new plugin, submit a pull request editing `plugins.txt`
with the name of the plugin repository under
link:https://github.com/jenkinsci[github.com/jenkinsci/].

== Meta


=== Problem

The link:https://jenkins.io[Jenkins] project faces a challenge unusual to other
contemporary CI/CD tools in that it is downloaded and executed on a user's
machine(s) rather than as a service. While this offers quite a lot of
flexibility to the end-user, it puts Jenkins developers at a disadvantage for a
number of reasons:

. There is no direct return line of feedback from where their code is executed.
  No error reports, etc.
. There is a significant lag between developers releasing code and it being
  adopted/used.


=== Solution

A free service which provides basic CI/CD functions, with Jenkins as the core
platform, to **all open source repositories on
link:https://github.com[GitHub]**.

With a regularly updated "Jenkins distribution," consisting of many of the key
plugins which people use, built from `master`, and rolled through the Code
Valet cluster. Providing rapid, real-world, usage of Jenkins code.

=== Goals

. Provide a rapid feedback loop for Jenkins developers through real-world usage.
. Introduce new people to the wonders of
  link:https://jenkins.io/doc/book/pipeline[Jenkins Pipeline] and
  link:https://jenkins.io/projects/blueocean[Blue Ocean].


== Success Stories

Below are a list of commits or pull requests created as a result of Code Valet:

* Incorrect versions in the link:https://github.com/jenkinsci/display-url-api-plugin/commit/563a48374dc03baa110e83f79ab1e783ab6de855[display-url-api-plugin pom.xml]
* Missing repositories and pluginRepositories settings in link:https://github.com/jenkinsci/blueocean-autofavorite-plugin/pull/10[blueocean-autofavorite-plugin pom.xml]
* link:https://issues.jenkins-ci.org/browse/JENKINS-45665[Pipeline Groovy depends on plugins which aren't properly hosted in the jenkinsci organization]
* link:https://issues.jenkins-ci.org/browse/JENKINS-45668[js-libs project doesn't build properly on a fresh checkout]
* New Blue Ocean installs don't need to link:https://github.com/jenkinsci/blueocean-plugin/pull/1264[install a github-organization-folder dependency]
