Skip to content

Commit 231846d

Browse files
authored
Merge pull request #109 from bcgov/fix/deployment
deployment
2 parents 0758501 + 5ed4e47 commit 231846d

File tree

5 files changed

+29
-32
lines changed

5 files changed

+29
-32
lines changed

.github/workflows/deploy-to.openshift-dev.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ env:
3434
COMMON_NAMESPACE: ${{ secrets.COMMON_NAMESPACE_NO_ENV }}
3535
TAG: "latest"
3636
MIN_REPLICAS_DEV: "1"
37-
MAX_REPLICAS_DEV: "2"
38-
MIN_CPU: "10m"
37+
MAX_REPLICAS_DEV: "3"
38+
MIN_CPU: "100m"
3939
MAX_CPU: "200m"
4040
MIN_MEM: "400Mi"
4141
MAX_MEM: "800Mi"
@@ -147,23 +147,22 @@ jobs:
147147
oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }}
148148
oc project ${{ env.OPENSHIFT_NAMESPACE_DEV }}
149149
# Cancel any rollouts in progress
150-
oc rollout cancel dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
150+
oc rollout cancel deployment/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
151151
|| true && echo "No rollout in progress"
152152
153153
oc tag ${{ steps.push-image.outputs.registry-path }} ${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ env.TAG }}
154154
155155
# Process and apply deployment template
156-
oc process -f tools/openshift/api.dc.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE_DEV }} -p TAG=${{ env.TAG }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS_DEV }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS_DEV }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \
156+
oc process -f tools/openshift/api.deployment.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE_DEV }} -p TAG=${{ env.TAG }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS_DEV }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS_DEV }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \
157157
| oc apply -f -
158158
159159
curl -s https://raw.githubusercontent.com/bcgov/${{ env.REPO_NAME }}/master/tools/config/update-configmap.sh | bash /dev/stdin dev ${{ env.APP_NAME }} ${{ env.NAMESPACE }} ${{ env.COMMON_NAMESPACE }} ${{ env.DB_JDBC_CONNECT_STRING }} ${{ env.DB_PWD }} ${{ env.DB_USER }} ${{ env.SPLUNK_TOKEN }}
160160
161161
# Start rollout (if necessary) and follow it
162-
oc rollout latest dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
162+
oc rollout restart deployment/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
163163
|| true && echo "Rollout in progress"
164-
oc logs -f dc/${{ env.SPRING_BOOT_IMAGE_NAME }}
165164
# Get status, returns 0 if rollout is successful
166-
oc rollout status dc/${{ env.SPRING_BOOT_IMAGE_NAME }}
165+
oc rollout status deployment/${{ env.SPRING_BOOT_IMAGE_NAME }}
167166
- name: ZAP Scan
168167
uses: zaproxy/action-api-scan@v0.9.0
169168
with:

.github/workflows/deploy-to.openshift-prod.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ env:
3131
TARGET_ENV: "prod"
3232
MIN_REPLICAS: "3"
3333
MAX_REPLICAS: "4"
34-
MIN_CPU: "20m"
34+
MIN_CPU: "100m"
3535
MAX_CPU: "200m"
3636
MIN_MEM: "500Mi"
3737
MAX_MEM: "1000Mi"
@@ -112,20 +112,19 @@ jobs:
112112
oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }}
113113
oc project ${{ env.OPENSHIFT_NAMESPACE }}
114114
# Cancel any rollouts in progress
115-
oc rollout cancel dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
115+
oc rollout cancel deployment/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
116116
|| true && echo "No rollout in progress"
117117
118118
oc tag ${{ env.NAMESPACE }}-test/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ steps.get-latest-tag.outputs.tag }} ${{ env.NAMESPACE }}-prod/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ steps.get-latest-tag.outputs.tag }}
119119
120120
# Process and apply deployment template
121-
oc process -f tools/openshift/api.dc.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE }} -p TAG=${{ steps.get-latest-tag.outputs.tag }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \
121+
oc process -f tools/openshift/api.deployment.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE }} -p TAG=${{ steps.get-latest-tag.outputs.tag }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \
122122
| oc apply -f -
123123
124124
curl -s https://raw.githubusercontent.com/bcgov/${{ env.REPO_NAME }}/${{ steps.get-latest-tag.outputs.tag }}/tools/config/update-configmap.sh | bash /dev/stdin ${{ env.TARGET_ENV }} ${{ env.APP_NAME }} ${{ env.NAMESPACE }} ${{ env.COMMON_NAMESPACE }} ${{ env.DB_JDBC_CONNECT_STRING }} ${{ env.DB_PWD }} ${{ env.DB_USER }} ${{ env.SPLUNK_TOKEN }}
125125
126126
# Start rollout (if necessary) and follow it
127-
oc rollout latest dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
127+
oc rollout restart deployment/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
128128
|| true && echo "Rollout in progress"
129-
oc logs -f dc/${{ env.SPRING_BOOT_IMAGE_NAME }}
130129
# Get status, returns 0 if rollout is successful
131-
oc rollout status dc/${{ env.SPRING_BOOT_IMAGE_NAME }}
130+
oc rollout status deployment/${{ env.SPRING_BOOT_IMAGE_NAME }}

.github/workflows/deploy-to.openshift-test.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ env:
3434
TAG: ${{ github.event.inputs.tag }}
3535
MIN_REPLICAS_TEST: "2"
3636
MAX_REPLICAS_TEST: "3"
37-
MIN_CPU: "20m"
37+
MIN_CPU: "100m"
3838
MAX_CPU: "200m"
3939
MIN_MEM: "500Mi"
4040
MAX_MEM: "1000Mi"
@@ -112,23 +112,22 @@ jobs:
112112
oc login --token=${{ env.OPENSHIFT_TOKEN }} --server=${{ env.OPENSHIFT_SERVER }}
113113
oc project ${{ env.OPENSHIFT_NAMESPACE_TEST }}
114114
# Cancel any rollouts in progress
115-
oc rollout cancel dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
115+
oc rollout cancel deployment/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
116116
|| true && echo "No rollout in progress"
117117
118118
oc tag ${{ env.NAMESPACE }}-dev/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ env.TAG }} ${{ env.NAMESPACE }}-test/${{ env.REPO_NAME }}-${{ env.BRANCH }}:${{ env.TAG }}
119119
120120
# Process and apply deployment template
121-
oc process -f tools/openshift/api.dc.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE_TEST }} -p TAG=${{ env.TAG }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS_TEST }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS_TEST }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \
121+
oc process -f tools/openshift/api.deployment.yaml -p APP_NAME=${{ env.APP_NAME }} -p REPO_NAME=${{ env.REPO_NAME }} -p BRANCH=${{ env.BRANCH }} -p NAMESPACE=${{ env.OPENSHIFT_NAMESPACE_TEST }} -p TAG=${{ env.TAG }} -p MIN_REPLICAS=${{ env.MIN_REPLICAS_TEST }} -p MAX_REPLICAS=${{ env.MAX_REPLICAS_TEST }} -p MIN_CPU=${{ env.MIN_CPU }} -p MAX_CPU=${{ env.MAX_CPU }} -p MIN_MEM=${{ env.MIN_MEM }} -p MAX_MEM=${{ env.MAX_MEM }} \
122122
| oc apply -f -
123123
124124
curl -s https://raw.githubusercontent.com/bcgov/${{ env.REPO_NAME }}/master/tools/config/update-configmap.sh | bash /dev/stdin test ${{ env.APP_NAME }} ${{ env.NAMESPACE }} ${{ env.COMMON_NAMESPACE }} ${{ env.DB_JDBC_CONNECT_STRING }} ${{ env.DB_PWD }} ${{ env.DB_USER }} ${{ env.SPLUNK_TOKEN }}
125125
126126
# Start rollout (if necessary) and follow it
127-
oc rollout latest dc/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
127+
oc rollout restart deployment/${{ env.SPRING_BOOT_IMAGE_NAME }} 2> /dev/null \
128128
|| true && echo "Rollout in progress"
129-
oc logs -f dc/${{ env.SPRING_BOOT_IMAGE_NAME }}
130129
# Get status, returns 0 if rollout is successful
131-
oc rollout status dc/${{ env.SPRING_BOOT_IMAGE_NAME }}
130+
oc rollout status deployment/${{ env.SPRING_BOOT_IMAGE_NAME }}
132131
133132
- name: ZAP Scan
134133
uses: zaproxy/action-api-scan@v0.9.0

tools/config/update-configmap.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,10 +199,10 @@ oc create -n "$PEN_NAMESPACE"-"$envValue" configmap "$APP_NAME"-config-map --fro
199199

200200
echo
201201
echo Setting environment variables for $APP_NAME-$SOAM_KC_REALM_ID application
202-
oc -n $PEN_NAMESPACE-$envValue set env --from=configmap/$APP_NAME-config-map dc/$APP_NAME-$SOAM_KC_REALM_ID
202+
oc -n $PEN_NAMESPACE-$envValue set env --from=configmap/$APP_NAME-config-map deployment/$APP_NAME-$SOAM_KC_REALM_ID
203203

204204
echo Creating config map "$APP_NAME"-flb-sc-config-map
205205
oc create -n "$PEN_NAMESPACE"-"$envValue" configmap "$APP_NAME"-flb-sc-config-map --from-literal=fluent-bit.conf="$FLB_CONFIG" --from-literal=parsers.conf="$PARSER_CONFIG" --dry-run -o yaml | oc apply -f -
206206

207207
echo Removing un-needed config entries
208-
oc -n "$PEN_NAMESPACE"-"$envValue" set env dc/"$APP_NAME"-$SOAM_KC_REALM_ID KEYCLOAK_PUBLIC_KEY-
208+
oc -n "$PEN_NAMESPACE"-"$envValue" set env deployment/"$APP_NAME"-$SOAM_KC_REALM_ID KEYCLOAK_PUBLIC_KEY-
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,24 @@ kind: Template
44
labels:
55
template: "${REPO_NAME}-template"
66
metadata:
7-
name: "${REPO_NAME}-${BRANCH}-dc"
7+
name: "${REPO_NAME}-${BRANCH}-deployment"
88
objects:
9-
- apiVersion: v1
10-
kind: DeploymentConfig
9+
- apiVersion: apps/v1
10+
kind: Deployment
1111
metadata:
1212
labels:
1313
app: "${APP_NAME}-${BRANCH}"
1414
name: "${APP_NAME}-${BRANCH}"
1515
spec:
1616
replicas: ${{MIN_REPLICAS}}
1717
selector:
18-
app: "${APP_NAME}-${BRANCH}"
19-
deploymentConfig: "${APP_NAME}-${BRANCH}"
18+
matchLabels:
19+
app: "${APP_NAME}-${BRANCH}"
2020
strategy:
21-
resources: {}
22-
type: Rolling
21+
type: RollingUpdate
22+
rollingUpdate:
23+
maxUnavailable: 25%
24+
maxSurge: 25%
2325
template:
2426
metadata:
2527
annotations:
@@ -29,7 +31,6 @@ objects:
2931
prometheus.io/scrape: 'true'
3032
labels:
3133
app: "${APP_NAME}-${BRANCH}"
32-
deploymentConfig: "${APP_NAME}-${BRANCH}"
3334
spec:
3435
containers:
3536
- image: image-registry.openshift-image-registry.svc:5000/${NAMESPACE}/${REPO_NAME}-${BRANCH}:${TAG}
@@ -133,15 +134,14 @@ objects:
133134
protocol: TCP
134135
selector:
135136
app: "${APP_NAME}-${BRANCH}"
136-
deploymentconfig: "${APP_NAME}-${BRANCH}"
137137
- apiVersion: autoscaling/v2
138138
kind: HorizontalPodAutoscaler
139139
metadata:
140140
name: "${APP_NAME}-${BRANCH}-cpu-autoscaler"
141141
spec:
142142
scaleTargetRef:
143-
apiVersion: apps.openshift.io/v1
144-
kind: DeploymentConfig
143+
apiVersion: apps/v1
144+
kind: Deployment
145145
name: "${APP_NAME}-${BRANCH}"
146146
subresource: scale
147147
minReplicas: ${{MIN_REPLICAS}}

0 commit comments

Comments
 (0)