Ravi Srinivasan
2019-02-12 55d834d54a62c3887b5a294e97080c8d79733266
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash
 
# Scripts that will run in OpenShift. Stored here for convenience etc.
set -o xtrace
set -e
 
# VARS
USER_PREFIX=<YOUR_NAME>
PIPELINES_NAMESPACE=${USER_PREFIX}-ci-cd
NAME=todolist-fe
NEXUS_ENDPOINT=nexus-${PIPELINES_NAMESPACE}.<YOUR_DOMAIN>
 
# oc-deploy takes a param of the target env to deploy to ie `oc-deploy dev` or `oc-deploy test` 
oc-deploy() {
    NAMESPACE=${USER_PREFIX}-${1}
    oc project ${NAMESPACE}
    oc tag ${PIPELINES_NAMESPACE}/${NAME}:${BUILD_TAG} ${NAMESPACE}/${NAME}:${BUILD_TAG}
    oc set env dc ${NAME} NODE_ENV=dev
    oc set image dc/${NAME} ${NAME}=docker-registry.default.svc:5000/${NAMESPACE}/${NAME}:${BUILD_TAG}
    oc rollout latest dc/${NAME}
}
 
oc-build() {
    # get the binary from previous build
    rm -rf package-contents*
    curl -v -f http://admin:admin123@${NEXUS_ENDPOINT}/repository/zip/com/redhat/todolist/${BUILD_TAG}/package-contents.zip -o package-contents.zip
    unzip package-contents.zip
 
    oc project ${PIPELINES_NAMESPACE} # probs not needed
    oc patch bc ${NAME} -p "spec:
    output:
        to:
        kind: ImageStreamTag
        name: '${NAME}:${BUILD_TAG}'"
    oc start-build ${NAME} --from-dir=package-contents/ --follow
}