diff --git a/ci/pipeline.yml b/ci/pipeline.yml new file mode 100644 index 000000000..0ce5f38a9 --- /dev/null +++ b/ci/pipeline.yml @@ -0,0 +1,184 @@ +--- +resource_types: + +- name: pull-request + type: docker-image + source: + repository: teliaoss/github-pr-resource + +- name: email + type: docker-image + source: + repository: pcfseceng/email-resource + +resources: + +- name: send-email + type: email + icon: email + source: + smtp: + host: email-smtp.us-west-2.amazonaws.com + port: "587" # this must be a string + username: ((smtp-username)) + password: ((smtp-password)) + from: concourse@eroad.com + to: + - bala.pavothil@eroad.com + +- name: amazon-kinesis-client-git + type: git + icon: github + check_every: 10s + source: + uri: https://github.com/eroad/amazon-kinesis-client.git + branch: master + username: {{github-username}} + password: {{github-password}} + ignore_paths: ['ci/*', 'README.md'] + +- name: amazon-kinesis-client-pullrequest + type: pull-request + check_every: 10s + source: + repository: eroad/amazon-kinesis-client + access_token: {{github-token}} + base_branch: master + ignore_paths: ['ci/*', 'README.md'] + +- name: pipeline-task + type: git + source: + uri: https://github.com/eroad/pipeline-task.git + branch: master + username: {{github-username}} + password: {{github-password}} + +- name: release-version + type: semver + source: + initial_version: 1.7.0 + key: application-ci/amazon-kinesis-client/version/version + bucket: eroad-artifact-ap-southeast-2 + access_key_id: {{aws-access-key}} + secret_access_key: {{aws-secret-key}} + region_name: ap-southeast-2 + +- name: github-release + type: github-release + icon: github + source: + access_token: {{github-token}} + user: eroad + repository: amazon-kinesis-client + +groups: +- name: build-release + jobs: + - bump-major + - bump-minor + - verify + - build-deploy + +jobs: + +- name: bump-minor + serial_groups: [release-version] + build_log_retention: {builds: 1} + plan: + - get: release-version + params: {bump: minor} + - put: release-version + params: + file: release-version/version + +- name: bump-major + serial_groups: [release-version] + build_log_retention: {builds: 1} + plan: + - get: release-version + params: {bump: major} + - put: release-version + params: + file: release-version/version + +- name: verify + build_log_retention: {builds: 10} + plan: + - in_parallel: + - get: amazon-kinesis-client-pullrequest + trigger: true + version: every + - get: release-version + params: {bump: patch} + - get: pipeline-task + - put: amazon-kinesis-client-pullrequest + params: + path: amazon-kinesis-client-pullrequest + status: pending + - task: maven-build + privileged: true + file: pipeline-task/maven-v2/tasks/maven-dind-build.yml + input_mapping: + repo: amazon-kinesis-client-pullrequest + version: release-version + params: + NEXUS_USER: {{nexus-user}} + NEXUS_PASSWORD: {{nexus-password}} + MAVEN_PHASES: verify + MAVEN_USE_VERSIONS_PLUGIN: true + on_failure: + put: amazon-kinesis-client-pullrequest + params: + path: amazon-kinesis-client-pullrequest + status: failure + on_success: + put: amazon-kinesis-client-pullrequest + params: + path: amazon-kinesis-client-pullrequest + status: success + +- name: build-deploy + serial: true + build_log_retention: {builds: 5} + plan: + - in_parallel: + - get: amazon-kinesis-client-git + trigger: true + - get: pipeline-task + - get: release-version + params: {bump: patch} + - task: maven-build + privileged: true + file: pipeline-task/maven-v2/tasks/maven-dind-build.yml + input_mapping: + repo: amazon-kinesis-client-git + version: release-version + params: + NEXUS_USER: {{nexus-user}} + NEXUS_PASSWORD: {{nexus-password}} + MAVEN_GOALS: deploy + MAVEN_USE_VERSIONS_PLUGIN: true + on_failure: + put: send-email + params: + subject_text: "BUILD FAILED: ${BUILD_PIPELINE_NAME} - ${BUILD_JOB_NAME}/${BUILD_NAME}" + body_text: "${ATC_EXTERNAL_URL}/teams/main/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}" + on_success: + put: send-email + params: + subject_text: "BUILD SUCCESS: ${BUILD_PIPELINE_NAME} - ${BUILD_JOB_NAME}/${BUILD_NAME}" + body_text: "${ATC_EXTERNAL_URL}/teams/main/pipelines/${BUILD_PIPELINE_NAME}/jobs/${BUILD_JOB_NAME}/builds/${BUILD_NAME}" + - in_parallel: + - put: release-version + params: + file: release-version/version + - put: amazon-kinesis-client-git + params: + repository: amazon-kinesis-client-git + only_tag: true + tag: release-version/version + - put: github-release + params: + name: release-version/version + tag: release-version/version \ No newline at end of file diff --git a/pom.xml b/pom.xml index 43ee74807..b30d0d5b7 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ amazon-kinesis-client jar Amazon Kinesis Client Library for Java - 1.6.3-EROAD-5-SNAPSHOT + 0-SNAPSHOT The Amazon Kinesis Client Library for Java enables Java developers to easily consume and process data from Amazon Kinesis. @@ -92,13 +92,9 @@ - releases - https://nexus.eroad.io/content/repositories/releases + nexus + https://nexus.eroad.io/content/repositories/component-ci - - snapshots - https://nexus.eroad.io/content/repositories/snapshots - - + \ No newline at end of file