spring-framework/ci
Brian Clozel 1b85f6277d Upgrade to Concourse Java Script v0.0.3
This new release has been updated with the version scheme changes.
2020-05-06 13:53:24 +02:00
..
images Upgrade to Concourse Java Script v0.0.3 2020-05-06 13:53:24 +02:00
scripts Only run checks in pipelines with JDK variants 2020-04-28 15:34:37 +02:00
tasks Add git repo as output for build tasks 2020-04-29 11:05:50 +02:00
README.adoc Add Concourse Build pipeline 2020-04-28 14:37:34 +02:00
parameters.yml Add Concourse Build pipeline 2020-04-28 14:37:34 +02:00
pipeline.yml Fix Artifactory properties on published artifacts 2020-04-29 11:22:32 +02:00

README.adoc

== Spring Framework Concourse pipeline

The Spring Framework is using https://concourse-ci.org/[Concourse] for its CI build and other automated tasks.
The Spring team has a dedicated Concourse instance available at https://ci.spring.io.

=== Setting up your development environment

If you're part of the Spring Framework project on GitHub, you can get access to CI management features.
First, you need to go to https://ci.spring.io and install the client CLI for your platform (see bottom right of the screen).

You can then login with the instance using:

[source]
----
$ fly -t spring login -n spring-framework -c https://ci.spring.io
----

Once logged in, you should get something like:

[source]
----
$ fly ts
name                  url                   team                  expiry
spring                https://ci.spring.io  spring-framework      Wed, 25 Mar 2020 17:45:26 UTC
----

=== Pipeline configuration and structure
The build pipelines are described in `pipeline.yml` file.
This file is listing Concourse resources, i.e. build inputs and outputs such as container images, artifact repositories, source repositories, notification services, etc.
It also describes jobs (a job is a sequence of inputs, tasks and outputs); jobs are organized by groups.

The `pipeline.yml` definition contains `((parameters))` which are loaded from the `parameters.yml` file or from our https://docs.cloudfoundry.org/credhub/[credhub instance].

You'll find in this folder the following resources:
* `pipeline.yml` the build pipeline
* `parameters.yml` the build parameters used for the pipeline
* `images/` holds the container images definitions used in this pipeline
* `scripts/` holds the build scripts that ship within the CI container images
* `tasks` contains the task definitions used in the main `pipeline.yml`

=== Updating the build pipeline

Updating files on the repository is not enough to update the build pipeline, as changes need to be applied.
The pipeline can be deployed using the following command:

[source]
----
$ fly -t spring set-pipeline -p spring-framework-5.3.x -c ci/pipeline.yml -l ci/parameters.yml
----

NOTE: This assumes that you have credhub integration configured with the appropriate secrets.