234 lines
6.2 KiB
YAML
234 lines
6.2 KiB
YAML
---
|
|
jobs:
|
|
- name: build-ci-images
|
|
plan:
|
|
- get: ci-images-git-repo
|
|
trigger: true
|
|
- task: generate-docker-credentials
|
|
file: ci-images-git-repo/ci/tasks/generate-docker-credentials.yml
|
|
input_mapping:
|
|
git-repo: ci-images-git-repo
|
|
vars:
|
|
registry: ((spring-credhub-dev-docker-registry))
|
|
registry-username: ((broadcom-jfrog-artifactory-robot-account.username))
|
|
registry-password: ((broadcom-jfrog-artifactory-robot-account.password))
|
|
- task: build-image
|
|
privileged: true
|
|
file: ci-images-git-repo/ci/tasks/build-oci-image.yml
|
|
input_mapping:
|
|
git-repo: ci-images-git-repo
|
|
params:
|
|
CONTEXT: git-repo/ci/images/spring-credhub-ci
|
|
- put: spring-credhub-ci-image
|
|
inputs: detect
|
|
params:
|
|
image: image/image.tar
|
|
no_get: true
|
|
|
|
- name: build
|
|
serial: true
|
|
public: true
|
|
plan:
|
|
- get: git-repo
|
|
trigger: true
|
|
- task: build-project
|
|
privileged: true
|
|
timeout: 1h30m
|
|
file: git-repo/ci/tasks/build-project.yml
|
|
vars:
|
|
ci-image-tag: ((ci-image-tag))
|
|
- put: artifactory-repo
|
|
params: &artifactory-params
|
|
signing_key: ((signing-key))
|
|
signing_passphrase: ((signing-passphrase))
|
|
repo: libs-snapshot-local
|
|
folder: distribution-repository
|
|
build_uri: "${ATC_EXTERNAL_URL}/teams/${BUILD_TEAM_NAME}/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}"
|
|
build_number: "${BUILD_PIPELINE_NAME}-((branch))-${BUILD_JOB_NAME}-${BUILD_NAME}"
|
|
disable_checksum_uploads: true
|
|
artifact_set:
|
|
- include:
|
|
- "/**/*-docs.zip"
|
|
properties:
|
|
"zip.type": "docs"
|
|
"zip.deployed": "false"
|
|
|
|
- name: stage-milestone
|
|
serial: true
|
|
plan:
|
|
- get: git-repo
|
|
- task: stage
|
|
file: git-repo/ci/tasks/stage.yml
|
|
vars:
|
|
release-type: M
|
|
ci-image-tag: ((ci-image-tag))
|
|
- put: artifactory-repo
|
|
params:
|
|
<<: *artifactory-params
|
|
repo: libs-staging-local
|
|
- put: git-repo
|
|
params:
|
|
repository: stage-git-repo
|
|
|
|
- name: stage-rc
|
|
serial: true
|
|
plan:
|
|
- get: git-repo
|
|
- task: stage
|
|
file: git-repo/ci/tasks/stage.yml
|
|
vars:
|
|
release-type: RC
|
|
ci-image-tag: ((ci-image-tag))
|
|
- put: artifactory-repo
|
|
params:
|
|
<<: *artifactory-params
|
|
repo: libs-staging-local
|
|
- put: git-repo
|
|
params:
|
|
repository: stage-git-repo
|
|
|
|
- name: stage-release
|
|
serial: true
|
|
plan:
|
|
- get: git-repo
|
|
- task: stage
|
|
file: git-repo/ci/tasks/stage.yml
|
|
vars:
|
|
release-type: RELEASE
|
|
ci-image-tag: ((ci-image-tag))
|
|
- put: artifactory-repo
|
|
params:
|
|
<<: *artifactory-params
|
|
repo: libs-staging-local
|
|
- put: git-repo
|
|
params:
|
|
repository: stage-git-repo
|
|
|
|
- name: promote-milestone
|
|
serial: true
|
|
plan:
|
|
- get: git-repo
|
|
- get: artifactory-repo
|
|
passed: [stage-milestone]
|
|
params:
|
|
save_build_info: true
|
|
- task: promote
|
|
file: git-repo/ci/tasks/promote.yml
|
|
vars:
|
|
release-type: M
|
|
|
|
- name: promote-rc
|
|
serial: true
|
|
plan:
|
|
- in_parallel:
|
|
- get: git-repo
|
|
- get: artifactory-repo
|
|
passed: [stage-rc]
|
|
params:
|
|
save_build_info: true
|
|
- task: promote
|
|
file: git-repo/ci/tasks/promote.yml
|
|
vars:
|
|
release-type: RC
|
|
|
|
- name: promote-release
|
|
serial: true
|
|
plan:
|
|
- in_parallel:
|
|
- get: git-repo
|
|
- get: artifactory-repo
|
|
passed: [stage-release]
|
|
params:
|
|
save_build_info: true
|
|
- task: promote
|
|
file: git-repo/ci/tasks/promote.yml
|
|
vars:
|
|
release-type: RELEASE
|
|
|
|
- name: sync-to-maven-central
|
|
serial: true
|
|
plan:
|
|
- in_parallel:
|
|
- get: git-repo
|
|
- get: artifactory-repo
|
|
passed: [promote-release]
|
|
params:
|
|
save_build_info: true
|
|
- task: sync-to-maven-central
|
|
file: git-repo/ci/tasks/sync-to-maven-central.yml
|
|
|
|
resource_types:
|
|
- name: artifactory-resource
|
|
type: registry-image
|
|
source:
|
|
repository: ((spring-credhub-virtual-docker-registry))/springio/artifactory-resource
|
|
username: ((broadcom-jfrog-artifactory-robot-account.username))
|
|
password: ((broadcom-jfrog-artifactory-robot-account.password))
|
|
tag: 0.0.14
|
|
|
|
resources:
|
|
- name: git-repo
|
|
type: git
|
|
source:
|
|
uri: ((github-repo))
|
|
username: ((github-token))
|
|
password: ((github-password))
|
|
branch: ((branch))
|
|
ignore_paths: ["ci/images/*"]
|
|
fetch_tags: true
|
|
|
|
- name: ci-images-git-repo
|
|
type: git
|
|
source:
|
|
uri: ((github-repo))
|
|
branch: ((branch))
|
|
paths:
|
|
- ci/images/*
|
|
- ci/scripts/generate-docker-credentials.sh
|
|
- ci/tasks/build-oci-image.yml
|
|
- ci/tasks/generate-docker-credentials.yml
|
|
|
|
- name: spring-credhub-ci-image
|
|
type: registry-image
|
|
source:
|
|
repository: ((spring-credhub-dev-docker-registry))/ci/spring-credhub-ci
|
|
username: ((broadcom-jfrog-artifactory-robot-account.username))
|
|
password: ((broadcom-jfrog-artifactory-robot-account.password))
|
|
tag: ((ci-image-tag))
|
|
|
|
- name: artifactory-repo
|
|
type: artifactory-resource
|
|
source:
|
|
uri: ((artifactory-server))
|
|
username: ((artifactory-username))
|
|
password: ((artifactory-password))
|
|
build_name: ((build-name))
|
|
|
|
groups:
|
|
- name: "builds"
|
|
jobs:
|
|
- build
|
|
- name: "releases"
|
|
jobs:
|
|
- stage-milestone
|
|
- promote-milestone
|
|
- stage-rc
|
|
- promote-rc
|
|
- stage-release
|
|
- promote-release
|
|
- sync-to-maven-central
|
|
- name: "ci-images"
|
|
jobs:
|
|
- build-ci-images
|
|
- name: "all"
|
|
jobs:
|
|
- build
|
|
- stage-milestone
|
|
- promote-milestone
|
|
- stage-rc
|
|
- promote-rc
|
|
- stage-release
|
|
- promote-release
|
|
- sync-to-maven-central
|
|
- build-ci-images
|