Skip to content

Commit 50840bd

Browse files
committed
(feat)PDP-1011: Update .gitlab-ci.yml file
1 parent e175e51 commit 50840bd

File tree

1 file changed

+92
-0
lines changed

1 file changed

+92
-0
lines changed

.gitlab-ci.yml

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
image: openjdk:8
2+
3+
variables:
4+
ARTIFACT_NAME: hydra-publish
5+
IMAGE_NAME: hydra
6+
DOCKER_REGISTRY_URL: harbor.vnerd.com/library
7+
DOCKER_REGISTRY_IMAGE: ${DOCKER_REGISTRY_URL}/${IMAGE_NAME}
8+
ARTIFACTORY_REPOSITORY_URL: https://repository.vnerd.com/artifactory
9+
ARTIFACTORY_REPOSITORY: bounded-context
10+
ARTIFACTORY_ID: hydra/publish
11+
ARTIFACTORY_ARTIFACT_VERSION: ${ARTIFACT_NAME}-${BUILD_VERSION}.tgz
12+
ARTIFACTORY_PATH: ${ARTIFACTORY_ID}/${ARTIFACTORY_ARTIFACT_VERSION}
13+
ARTIFACTORY_ARTIFACT_URL: ${ARTIFACTORY_REPOSITORY_URL}/${ARTIFACTORY_REPOSITORY}/${ARTIFACTORY_PATH}
14+
BUILD_VERSION: 1.0.${CI_PIPELINE_IID}
15+
16+
17+
before_script:
18+
- apt-get update -yqq
19+
- apt-get install -yqq apt-transport-https apt-utils
20+
- echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
21+
- mkdir -p /root/.gnupg
22+
- gpg --recv-keys --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/scalasbt-release.gpg --keyserver hkp://keyserver.ubuntu.com:80 2EE0EA64E40A89B84B2DF73499E82A75642AC823
23+
- chmod 644 /etc/apt/trusted.gpg.d/scalasbt-release.gpg
24+
- apt-get update -yqq
25+
- apt-get install -yqq sbt
26+
27+
stages:
28+
- build
29+
- package
30+
- publish
31+
- deploy
32+
33+
build:
34+
stage: build
35+
script:
36+
- sbt clean compile test
37+
38+
package:
39+
stage: package
40+
script:
41+
- sbt universal:packageBin
42+
- ls ingest/target/universal/*.zip | xargs -I {} unzip {} -d ps-publish
43+
- mv ps-publish/hydra-ingest*/* ps-publish
44+
- rm -rf ps-publish/hydra-ingest*
45+
- cd ps-publish/bin
46+
- ls -la
47+
- curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/4.4.0/newrelic-agent-4.4.0.jar
48+
- curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/4.4.0/newrelic.yml
49+
- cd ../../
50+
- echo $BUILD_VERSION > VERSION
51+
- tar czf ${ARTIFACT_NAME}-${BUILD_VERSION}.tgz --exclude=*.tmp --exclude=*.tgz --exclude=*.tgz.md5 VERSION ps-publish/
52+
- echo "##teamcity[publishArtifacts '${ARTIFACT_NAME}-${BUILD_VERSION}.tgz']"
53+
- md5sum ${ARTIFACT_NAME}-${BUILD_VERSION}.tgz > ${ARTIFACT_NAME}-${BUILD_VERSION}.tgz.md5
54+
- echo "${ARTIFACTORY_ARTIFACT_URL}"
55+
- |
56+
curl \
57+
-H "Authorization: Bearer ${NPM_TOKEN}" \
58+
-X PUT ${ARTIFACTORY_ARTIFACT_URL} \
59+
-T ${ARTIFACTORY_ARTIFACT_VERSION}
60+
61+
artifacts:
62+
paths:
63+
- ${ARTIFACT_NAME}-${BUILD_VERSION}.tgz
64+
- ${ARTIFACT_NAME}-${BUILD_VERSION}.tgz.md5
65+
- ps-publish/
66+
67+
publish:
68+
stage: publish
69+
image: harbor.vnerd.com/proxy/library/docker:cli
70+
tags:
71+
- ps
72+
- docker
73+
needs:
74+
- package
75+
before_script:
76+
- echo -n "$DOCKER_REGISTRY_PASSWORD" | docker login -u "$DOCKER_REGISTRY_USERNAME" --password-stdin "$DOCKER_REGISTRY_URL"
77+
script:
78+
- pwd
79+
- ls -lh
80+
- docker build -t ${IMAGE_NAME} -f Dockerfile.new .
81+
- docker tag ${IMAGE_NAME} ${DOCKER_REGISTRY_IMAGE}:${BUILD_VERSION}
82+
- docker push ${DOCKER_REGISTRY_IMAGE}:${BUILD_VERSION}
83+
- docker tag ${IMAGE_NAME} ${DOCKER_REGISTRY_IMAGE}:latest
84+
- docker push ${DOCKER_REGISTRY_IMAGE}:latest
85+
- CURYEAR=$(date +%Y)
86+
- CURMONTH=$(date +%-m)
87+
- echo -n "${CURYEAR}.${CURMONTH}.${BUILD_VERSION}" > VERSION
88+
variables:
89+
DOCKER_HOST: tcp://localhost:2376
90+
DOCKER_TLS_CERTDIR: "/certs"
91+
DOCKER_CERT_PATH: "$DOCKER_TLS_CERTDIR/client"
92+
DOCKER_TLS_VERIFY: 1

0 commit comments

Comments
 (0)