README.adoc 2.3 KB
Newer Older
B
Brian Clozel 已提交
1 2
== Spring Framework Concourse pipeline

3 4 5
The Spring Framework uses 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 with a build pipeline
for https://ci.spring.io/teams/spring-framework/pipelines/spring-framework-5.3.x[Spring Framework 5.3.x].
B
Brian Clozel 已提交
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

=== 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
29

B
Brian Clozel 已提交
30
The build pipelines are described in `pipeline.yml` file.
31

B
Brian Clozel 已提交
32
This file is listing Concourse resources, i.e. build inputs and outputs such as container images, artifact repositories, source repositories, notification services, etc.
33

B
Brian Clozel 已提交
34 35 36 37 38
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:
39

B
Brian Clozel 已提交
40 41 42 43 44 45 46 47 48
* `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.
49

B
Brian Clozel 已提交
50 51 52 53 54 55 56
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
----

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