|
1 | 1 | name: Feature Preview
|
2 | 2 |
|
3 | 3 | on:
|
| 4 | + push: |
4 | 5 | workflow_dispatch:
|
5 |
| - inputs: |
6 |
| - web-build: |
7 |
| - required: false |
8 |
| - description: "Build Web" |
9 |
| - type: boolean |
10 |
| - default: true |
11 |
| - space-build: |
12 |
| - required: false |
13 |
| - description: "Build Space" |
14 |
| - type: boolean |
15 |
| - default: false |
16 |
| - admin-build: |
17 |
| - required: false |
18 |
| - description: "Build Admin" |
19 |
| - type: boolean |
20 |
| - default: false |
21 | 6 |
|
22 | 7 | env:
|
23 |
| - BUILD_WEB: ${{ github.event.inputs.web-build }} |
24 |
| - BUILD_SPACE: ${{ github.event.inputs.space-build }} |
25 |
| - BUILD_ADMIN: ${{ github.event.inputs.admin-build }} |
| 8 | + TARGET_BRANCH: ${{ github.ref_name }} |
26 | 9 |
|
27 | 10 | jobs:
|
28 |
| - setup-feature-build: |
29 |
| - name: Feature Build Setup |
| 11 | + branch_build_setup: |
| 12 | + name: Build Setup |
30 | 13 | runs-on: ubuntu-latest
|
31 |
| - steps: |
32 |
| - - name: Checkout |
33 |
| - run: | |
34 |
| - echo "BUILD_WEB=$BUILD_WEB" |
35 |
| - echo "BUILD_SPACE=$BUILD_SPACE" |
36 |
| - echo "BUILD_ADMIN=$BUILD_ADMIN" |
37 | 14 | outputs:
|
38 |
| - web-build: ${{ env.BUILD_WEB}} |
39 |
| - space-build: ${{env.BUILD_SPACE}} |
40 |
| - admin-build: ${{env.BUILD_ADMIN}} |
| 15 | + gh_branch_name: ${{ steps.set_env_variables.outputs.TARGET_BRANCH }} |
| 16 | + gh_buildx_driver: ${{ steps.set_env_variables.outputs.BUILDX_DRIVER }} |
| 17 | + gh_buildx_version: ${{ steps.set_env_variables.outputs.BUILDX_VERSION }} |
| 18 | + gh_buildx_platforms: ${{ steps.set_env_variables.outputs.BUILDX_PLATFORMS }} |
| 19 | + gh_buildx_endpoint: ${{ steps.set_env_variables.outputs.BUILDX_ENDPOINT }} |
| 20 | + aio_base_tag: ${{ steps.set_env_variables.outputs.AIO_BASE_TAG }} |
| 21 | + do_full_build: ${{ steps.set_env_variables.outputs.DO_FULL_BUILD }} |
| 22 | + do_slim_build: ${{ steps.set_env_variables.outputs.DO_SLIM_BUILD }} |
41 | 23 |
|
42 |
| - feature-build-web: |
43 |
| - if: ${{ needs.setup-feature-build.outputs.web-build == 'true' }} |
44 |
| - needs: setup-feature-build |
45 |
| - name: Feature Build Web |
46 |
| - runs-on: ubuntu-latest |
47 |
| - env: |
48 |
| - AWS_ACCESS_KEY_ID: ${{ vars.FEATURE_PREVIEW_AWS_ACCESS_KEY_ID }} |
49 |
| - AWS_SECRET_ACCESS_KEY: ${{ secrets.FEATURE_PREVIEW_AWS_SECRET_ACCESS_KEY }} |
50 |
| - AWS_BUCKET: ${{ vars.FEATURE_PREVIEW_AWS_BUCKET }} |
51 |
| - NEXT_PUBLIC_API_BASE_URL: ${{ vars.FEATURE_PREVIEW_NEXT_PUBLIC_API_BASE_URL }} |
52 | 24 | steps:
|
53 |
| - - name: Set up Node.js |
54 |
| - uses: actions/setup-node@v4 |
55 |
| - with: |
56 |
| - node-version: "18" |
57 |
| - - name: Install AWS cli |
58 |
| - run: | |
59 |
| - sudo apt-get update |
60 |
| - sudo apt-get install -y python3-pip |
61 |
| - pip3 install awscli |
62 |
| - - name: Checkout |
63 |
| - uses: actions/checkout@v4 |
64 |
| - with: |
65 |
| - path: plane |
66 |
| - - name: Install Dependencies |
67 |
| - run: | |
68 |
| - cd $GITHUB_WORKSPACE/plane |
69 |
| - yarn install |
70 |
| - - name: Build Web |
71 |
| - id: build-web |
| 25 | + - id: set_env_variables |
| 26 | + name: Set Environment Variables |
72 | 27 | run: |
|
73 |
| - cd $GITHUB_WORKSPACE/plane |
74 |
| - yarn build --filter=web |
75 |
| - cd $GITHUB_WORKSPACE |
| 28 | + echo "BUILDX_DRIVER=docker-container" >> $GITHUB_OUTPUT |
| 29 | + echo "BUILDX_VERSION=latest" >> $GITHUB_OUTPUT |
| 30 | + echo "BUILDX_PLATFORMS=linux/amd64" >> $GITHUB_OUTPUT |
| 31 | + echo "BUILDX_ENDPOINT=" >> $GITHUB_OUTPUT |
| 32 | + echo "AIO_BASE_TAG=develop" >> $GITHUB_OUTPUT |
76 | 33 |
|
77 |
| - TAR_NAME="web.tar.gz" |
78 |
| - tar -czf $TAR_NAME ./plane |
| 34 | + echo "TARGET_BRANCH=${{ env.TARGET_BRANCH }}" >> $GITHUB_OUTPUT |
79 | 35 |
|
80 |
| - FILE_EXPIRY=$(date -u -d "+2 days" +"%Y-%m-%dT%H:%M:%SZ") |
81 |
| - aws s3 cp $TAR_NAME s3://${{ env.AWS_BUCKET }}/${{github.sha}}/$TAR_NAME --expires $FILE_EXPIRY |
82 |
| -
|
83 |
| - feature-build-space: |
84 |
| - if: ${{ needs.setup-feature-build.outputs.space-build == 'true' }} |
85 |
| - needs: setup-feature-build |
86 |
| - name: Feature Build Space |
87 |
| - runs-on: ubuntu-latest |
88 |
| - env: |
89 |
| - AWS_ACCESS_KEY_ID: ${{ vars.FEATURE_PREVIEW_AWS_ACCESS_KEY_ID }} |
90 |
| - AWS_SECRET_ACCESS_KEY: ${{ secrets.FEATURE_PREVIEW_AWS_SECRET_ACCESS_KEY }} |
91 |
| - AWS_BUCKET: ${{ vars.FEATURE_PREVIEW_AWS_BUCKET }} |
92 |
| - NEXT_PUBLIC_SPACE_BASE_PATH: "/spaces" |
93 |
| - NEXT_PUBLIC_API_BASE_URL: ${{ vars.FEATURE_PREVIEW_NEXT_PUBLIC_API_BASE_URL }} |
94 |
| - outputs: |
95 |
| - do-build: ${{ needs.setup-feature-build.outputs.space-build }} |
96 |
| - s3-url: ${{ steps.build-space.outputs.S3_PRESIGNED_URL }} |
97 |
| - steps: |
98 |
| - - name: Set up Node.js |
99 |
| - uses: actions/setup-node@v4 |
100 |
| - with: |
101 |
| - node-version: "18" |
102 |
| - - name: Install AWS cli |
103 |
| - run: | |
104 |
| - sudo apt-get update |
105 |
| - sudo apt-get install -y python3-pip |
106 |
| - pip3 install awscli |
107 |
| - - name: Checkout |
| 36 | + - id: checkout_files |
| 37 | + name: Checkout Files |
108 | 38 | uses: actions/checkout@v4
|
109 |
| - with: |
110 |
| - path: plane |
111 |
| - - name: Install Dependencies |
112 |
| - run: | |
113 |
| - cd $GITHUB_WORKSPACE/plane |
114 |
| - yarn install |
115 |
| - - name: Build Space |
116 |
| - id: build-space |
117 |
| - run: | |
118 |
| - cd $GITHUB_WORKSPACE/plane |
119 |
| - yarn build --filter=space |
120 |
| - cd $GITHUB_WORKSPACE |
121 |
| -
|
122 |
| - TAR_NAME="space.tar.gz" |
123 |
| - tar -czf $TAR_NAME ./plane |
124 |
| -
|
125 |
| - FILE_EXPIRY=$(date -u -d "+2 days" +"%Y-%m-%dT%H:%M:%SZ") |
126 |
| - aws s3 cp $TAR_NAME s3://${{ env.AWS_BUCKET }}/${{github.sha}}/$TAR_NAME --expires $FILE_EXPIRY |
127 | 39 |
|
128 |
| - feature-build-admin: |
129 |
| - if: ${{ needs.setup-feature-build.outputs.admin-build == 'true' }} |
130 |
| - needs: setup-feature-build |
131 |
| - name: Feature Build Admin |
132 |
| - runs-on: ubuntu-latest |
| 40 | + full_build_push: |
| 41 | + runs-on: ubuntu-20.04 |
| 42 | + needs: [branch_build_setup] |
133 | 43 | env:
|
134 |
| - AWS_ACCESS_KEY_ID: ${{ vars.FEATURE_PREVIEW_AWS_ACCESS_KEY_ID }} |
135 |
| - AWS_SECRET_ACCESS_KEY: ${{ secrets.FEATURE_PREVIEW_AWS_SECRET_ACCESS_KEY }} |
136 |
| - AWS_BUCKET: ${{ vars.FEATURE_PREVIEW_AWS_BUCKET }} |
137 |
| - NEXT_PUBLIC_ADMIN_BASE_PATH: "/god-mode" |
138 |
| - NEXT_PUBLIC_API_BASE_URL: ${{ vars.FEATURE_PREVIEW_NEXT_PUBLIC_API_BASE_URL }} |
139 |
| - outputs: |
140 |
| - do-build: ${{ needs.setup-feature-build.outputs.admin-build }} |
141 |
| - s3-url: ${{ steps.build-admin.outputs.S3_PRESIGNED_URL }} |
| 44 | + BUILD_TYPE: full |
| 45 | + AIO_BASE_TAG: ${{ needs.branch_build_setup.outputs.aio_base_tag }} |
| 46 | + AIO_IMAGE_TAGS: makeplane/plane-aio-feature:${{ needs.branch_build_setup.outputs.gh_branch_name }} |
| 47 | + TARGET_BRANCH: ${{ needs.branch_build_setup.outputs.gh_branch_name }} |
| 48 | + BUILDX_DRIVER: ${{ needs.branch_build_setup.outputs.gh_buildx_driver }} |
| 49 | + BUILDX_VERSION: ${{ needs.branch_build_setup.outputs.gh_buildx_version }} |
| 50 | + BUILDX_PLATFORMS: ${{ needs.branch_build_setup.outputs.gh_buildx_platforms }} |
| 51 | + BUILDX_ENDPOINT: ${{ needs.branch_build_setup.outputs.gh_buildx_endpoint }} |
142 | 52 | steps:
|
143 |
| - - name: Set up Node.js |
144 |
| - uses: actions/setup-node@v4 |
145 |
| - with: |
146 |
| - node-version: "18" |
147 |
| - - name: Install AWS cli |
148 |
| - run: | |
149 |
| - sudo apt-get update |
150 |
| - sudo apt-get install -y python3-pip |
151 |
| - pip3 install awscli |
152 |
| - - name: Checkout |
153 |
| - uses: actions/checkout@v4 |
| 53 | + - name: Login to Docker Hub |
| 54 | + uses: docker/login-action@v3 |
154 | 55 | with:
|
155 |
| - path: plane |
156 |
| - - name: Install Dependencies |
157 |
| - run: | |
158 |
| - cd $GITHUB_WORKSPACE/plane |
159 |
| - yarn install |
160 |
| - - name: Build Admin |
161 |
| - id: build-admin |
162 |
| - run: | |
163 |
| - cd $GITHUB_WORKSPACE/plane |
164 |
| - yarn build --filter=admin |
165 |
| - cd $GITHUB_WORKSPACE |
166 |
| -
|
167 |
| - TAR_NAME="admin.tar.gz" |
168 |
| - tar -czf $TAR_NAME ./plane |
169 |
| -
|
170 |
| - FILE_EXPIRY=$(date -u -d "+2 days" +"%Y-%m-%dT%H:%M:%SZ") |
171 |
| - aws s3 cp $TAR_NAME s3://${{ env.AWS_BUCKET }}/${{github.sha}}/$TAR_NAME --expires $FILE_EXPIRY |
| 56 | + username: ${{ secrets.DOCKERHUB_USERNAME }} |
| 57 | + password: ${{ secrets.DOCKERHUB_TOKEN }} |
172 | 58 |
|
173 |
| - feature-deploy: |
174 |
| - if: ${{ always() && (needs.setup-feature-build.outputs.web-build == 'true' || needs.setup-feature-build.outputs.space-build == 'true' || needs.setup-feature-build.outputs.admin-build == 'true') }} |
175 |
| - needs: |
176 |
| - [ |
177 |
| - setup-feature-build, |
178 |
| - feature-build-web, |
179 |
| - feature-build-space, |
180 |
| - feature-build-admin, |
181 |
| - ] |
182 |
| - name: Feature Deploy |
183 |
| - runs-on: ubuntu-latest |
184 |
| - env: |
185 |
| - AWS_ACCESS_KEY_ID: ${{ vars.FEATURE_PREVIEW_AWS_ACCESS_KEY_ID }} |
186 |
| - AWS_SECRET_ACCESS_KEY: ${{ secrets.FEATURE_PREVIEW_AWS_SECRET_ACCESS_KEY }} |
187 |
| - AWS_BUCKET: ${{ vars.FEATURE_PREVIEW_AWS_BUCKET }} |
188 |
| - KUBE_CONFIG_FILE: ${{ secrets.FEATURE_PREVIEW_KUBE_CONFIG }} |
189 |
| - steps: |
190 |
| - - name: Install AWS cli |
191 |
| - run: | |
192 |
| - sudo apt-get update |
193 |
| - sudo apt-get install -y python3-pip |
194 |
| - pip3 install awscli |
195 |
| - - name: Tailscale |
196 |
| - uses: tailscale/github-action@v2 |
| 59 | + - name: Set up Docker Buildx |
| 60 | + uses: docker/setup-buildx-action@v3 |
197 | 61 | with:
|
198 |
| - oauth-client-id: ${{ secrets.TAILSCALE_OAUTH_CLIENT_ID }} |
199 |
| - oauth-secret: ${{ secrets.TAILSCALE_OAUTH_SECRET }} |
200 |
| - tags: tag:ci |
201 |
| - - name: Kubectl Setup |
202 |
| - run: | |
203 |
| - curl -LO "https://dl.k8s.io/release/${{ vars.FEATURE_PREVIEW_KUBE_VERSION }}/bin/linux/amd64/kubectl" |
204 |
| - chmod +x kubectl |
205 |
| -
|
206 |
| - mkdir -p ~/.kube |
207 |
| - echo "$KUBE_CONFIG_FILE" > ~/.kube/config |
208 |
| - chmod 600 ~/.kube/config |
209 |
| - - name: HELM Setup |
210 |
| - run: | |
211 |
| - curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 |
212 |
| - chmod 700 get_helm.sh |
213 |
| - ./get_helm.sh |
214 |
| - - name: App Deploy |
215 |
| - run: | |
216 |
| - WEB_S3_URL="" |
217 |
| - if [ ${{ env.BUILD_WEB }} == true ]; then |
218 |
| - WEB_S3_URL=$(aws s3 presign s3://${{ vars.FEATURE_PREVIEW_AWS_BUCKET }}/${{github.sha}}/web.tar.gz --expires-in 3600) |
219 |
| - fi |
220 |
| -
|
221 |
| - SPACE_S3_URL="" |
222 |
| - if [ ${{ env.BUILD_SPACE }} == true ]; then |
223 |
| - SPACE_S3_URL=$(aws s3 presign s3://${{ vars.FEATURE_PREVIEW_AWS_BUCKET }}/${{github.sha}}/space.tar.gz --expires-in 3600) |
224 |
| - fi |
225 |
| -
|
226 |
| - ADMIN_S3_URL="" |
227 |
| - if [ ${{ env.BUILD_ADMIN }} == true ]; then |
228 |
| - ADMIN_S3_URL=$(aws s3 presign s3://${{ vars.FEATURE_PREVIEW_AWS_BUCKET }}/${{github.sha}}/admin.tar.gz --expires-in 3600) |
229 |
| - fi |
230 |
| -
|
231 |
| - if [ ${{ env.BUILD_WEB }} == true ] || [ ${{ env.BUILD_SPACE }} == true ] || [ ${{ env.BUILD_ADMIN }} == true ]; then |
232 |
| -
|
233 |
| - helm --kube-insecure-skip-tls-verify repo add feature-preview ${{ vars.FEATURE_PREVIEW_HELM_CHART_URL }} |
| 62 | + driver: ${{ env.BUILDX_DRIVER }} |
| 63 | + version: ${{ env.BUILDX_VERSION }} |
| 64 | + endpoint: ${{ env.BUILDX_ENDPOINT }} |
234 | 65 |
|
235 |
| - APP_NAMESPACE="${{ vars.FEATURE_PREVIEW_NAMESPACE }}" |
236 |
| - DEPLOY_SCRIPT_URL="${{ vars.FEATURE_PREVIEW_DEPLOY_SCRIPT_URL }}" |
237 |
| -
|
238 |
| - METADATA=$(helm --kube-insecure-skip-tls-verify install feature-preview/${{ vars.FEATURE_PREVIEW_HELM_CHART_NAME }} \ |
239 |
| - --generate-name \ |
240 |
| - --namespace $APP_NAMESPACE \ |
241 |
| - --set ingress.primaryDomain=${{vars.FEATURE_PREVIEW_PRIMARY_DOMAIN || 'feature.plane.tools' }} \ |
242 |
| - --set web.image=${{vars.FEATURE_PREVIEW_DOCKER_BASE}} \ |
243 |
| - --set web.enabled=${{ env.BUILD_WEB || false }} \ |
244 |
| - --set web.artifact_url=$WEB_S3_URL \ |
245 |
| - --set space.image=${{vars.FEATURE_PREVIEW_DOCKER_BASE}} \ |
246 |
| - --set space.enabled=${{ env.BUILD_SPACE || false }} \ |
247 |
| - --set space.artifact_url=$SPACE_S3_URL \ |
248 |
| - --set admin.image=${{vars.FEATURE_PREVIEW_DOCKER_BASE}} \ |
249 |
| - --set admin.enabled=${{ env.BUILD_ADMIN || false }} \ |
250 |
| - --set admin.artifact_url=$ADMIN_S3_URL \ |
251 |
| - --set shared_config.deploy_script_url=$DEPLOY_SCRIPT_URL \ |
252 |
| - --set shared_config.api_base_url=${{vars.FEATURE_PREVIEW_NEXT_PUBLIC_API_BASE_URL}} \ |
253 |
| - --output json \ |
254 |
| - --timeout 1000s) |
255 |
| -
|
256 |
| - APP_NAME=$(echo $METADATA | jq -r '.name') |
257 |
| -
|
258 |
| - INGRESS_HOSTNAME=$(kubectl get ingress -n feature-builds --insecure-skip-tls-verify \ |
259 |
| - -o jsonpath='{.items[?(@.metadata.annotations.meta\.helm\.sh\/release-name=="'$APP_NAME'")]}' | \ |
260 |
| - jq -r '.spec.rules[0].host') |
| 66 | + - name: Check out the repo |
| 67 | + uses: actions/checkout@v4 |
261 | 68 |
|
262 |
| - echo "****************************************" |
263 |
| - echo "APP NAME ::: $APP_NAME" |
264 |
| - echo "INGRESS HOSTNAME ::: $INGRESS_HOSTNAME" |
265 |
| - echo "****************************************" |
266 |
| - fi |
| 69 | + - name: Build and Push to Docker Hub |
| 70 | + |
| 71 | + with: |
| 72 | + context: . |
| 73 | + file: ./aio/Dockerfile-app |
| 74 | + platforms: ${{ env.BUILDX_PLATFORMS }} |
| 75 | + tags: ${{ env.AIO_IMAGE_TAGS }} |
| 76 | + push: true |
| 77 | + build-args: |
| 78 | + BUILD_TAG=${{ env.AIO_BASE_TAG }} |
| 79 | + BUILD_TYPE=${{env.BUILD_TYPE}} |
| 80 | + cache-from: type=gha |
| 81 | + cache-to: type=gha,mode=max |
| 82 | + env: |
| 83 | + DOCKER_BUILDKIT: 1 |
| 84 | + DOCKER_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} |
| 85 | + DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }} |
| 86 | + outputs: |
| 87 | + AIO_IMAGE_TAGS: ${{ env.AIO_IMAGE_TAGS }} |
| 88 | + |
| 89 | + # feature-deploy: |
| 90 | + # needs: [branch_build_setup, full_build_push] |
| 91 | + # name: Feature Deploy |
| 92 | + # runs-on: ubuntu-latest |
| 93 | + # env: |
| 94 | + # AWS_ACCESS_KEY_ID: ${{ vars.FEATURE_PREVIEW_AWS_ACCESS_KEY_ID }} |
| 95 | + # AWS_SECRET_ACCESS_KEY: ${{ secrets.FEATURE_PREVIEW_AWS_SECRET_ACCESS_KEY }} |
| 96 | + # AWS_BUCKET: ${{ vars.FEATURE_PREVIEW_AWS_BUCKET }} |
| 97 | + # KUBE_CONFIG_FILE: ${{ secrets.FEATURE_PREVIEW_KUBE_CONFIG }} |
| 98 | + # steps: |
| 99 | + # - name: Install AWS cli |
| 100 | + # run: | |
| 101 | + # sudo apt-get update |
| 102 | + # sudo apt-get install -y python3-pip |
| 103 | + # pip3 install awscli |
| 104 | + # - name: Tailscale |
| 105 | + # uses: tailscale/github-action@v2 |
| 106 | + # with: |
| 107 | + # oauth-client-id: ${{ secrets.TAILSCALE_OAUTH_CLIENT_ID }} |
| 108 | + # oauth-secret: ${{ secrets.TAILSCALE_OAUTH_SECRET }} |
| 109 | + # tags: tag:ci |
| 110 | + # - name: Kubectl Setup |
| 111 | + # run: | |
| 112 | + # curl -LO "https://dl.k8s.io/release/${{ vars.FEATURE_PREVIEW_KUBE_VERSION }}/bin/linux/amd64/kubectl" |
| 113 | + # chmod +x kubectl |
| 114 | + |
| 115 | + # mkdir -p ~/.kube |
| 116 | + # echo "$KUBE_CONFIG_FILE" > ~/.kube/config |
| 117 | + # chmod 600 ~/.kube/config |
| 118 | + # - name: HELM Setup |
| 119 | + # run: | |
| 120 | + # curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 |
| 121 | + # chmod 700 get_helm.sh |
| 122 | + # ./get_helm.sh |
| 123 | + # - name: App Deploy |
| 124 | + # run: | |
| 125 | + # helm --kube-insecure-skip-tls-verify repo add feature-preview ${{ vars.FEATURE_PREVIEW_HELM_CHART_URL }} |
| 126 | + |
| 127 | + # APP_NAMESPACE="${{ vars.FEATURE_PREVIEW_NAMESPACE }}" |
| 128 | + |
| 129 | + # METADATA=$(helm --kube-insecure-skip-tls-verify install feature-preview/${{ vars.FEATURE_PREVIEW_HELM_CHART_NAME }} \ |
| 130 | + # --generate-name \ |
| 131 | + # --namespace $APP_NAMESPACE \ |
| 132 | + # --set ingress.primaryDomain=${{vars.FEATURE_PREVIEW_PRIMARY_DOMAIN || 'feature.plane.tools' }} \ |
| 133 | + # --set web.image=${{vars.FEATURE_PREVIEW_DOCKER_BASE}} \ |
| 134 | + # --output json \ |
| 135 | + # --timeout 1000s) |
| 136 | + |
| 137 | + # APP_NAME=$(echo $METADATA | jq -r '.name') |
| 138 | + |
| 139 | + # INGRESS_HOSTNAME=$(kubectl get ingress -n feature-builds --insecure-skip-tls-verify \ |
| 140 | + # -o jsonpath='{.items[?(@.metadata.annotations.meta\.helm\.sh\/release-name=="'$APP_NAME'")]}' | \ |
| 141 | + # jq -r '.spec.rules[0].host') |
| 142 | + |
| 143 | + # echo "****************************************" |
| 144 | + # echo "APP NAME ::: $APP_NAME" |
| 145 | + # echo "INGRESS HOSTNAME ::: $INGRESS_HOSTNAME" |
| 146 | + # echo "****************************************" |
0 commit comments