Skip to content

Commit 0c885b6

Browse files
Setup contentful preview (#542)
1 parent d85d688 commit 0c885b6

6 files changed

+128
-68
lines changed

.github/workflows/ci.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ name: CI Build
1515
env:
1616
GTM_ID: GTM-MK7ZHTL
1717
DOCUMENTATION_URL: http://rpp-docs.s3-website.eu-central-1.amazonaws.com
18-
CONTENTFUL_ENV_ID: 'master'
18+
CONTENTFUL_ENV_ID: master
19+
CONTENTFUL_HOST: cdn.contentful.com
1920

2021
on:
2122
pull_request:
@@ -46,6 +47,7 @@ jobs:
4647
echo CONTENTFUL_ACCESS_TOKEN=${{ secrets.CONTENTFUL_ACCESS_TOKEN_DEV }} >> .env.production
4748
echo CONTENTFUL_SPACE_ID=${{ secrets.CONTENTFUL_SPACE_ID_DEV }} >> .env.production
4849
echo CONTENTFUL_ENV_ID=${{ env.CONTENTFUL_ENV_ID }} >> .env.production
50+
echo CONTENTFUL_HOST=${{ env.CONTENTFUL_HOST }} >> .env.production
4951
echo GTM_ID=${{ env.GTM_ID }} >> .env.production
5052
echo DOCUMENTATION_URL=${{ env.DOCUMENTATION_URL }} >> .env.production
5153

.github/workflows/deploy-dev-base.yml

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Copyright 2024 EPAM Systems
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
#
6+
# http://www.apache.org/licenses/LICENSE-2.0
7+
#
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
14+
name: Deploy to dev base (AWS S3)
15+
env:
16+
AWS_S3_BUCKET_NAME : rpp-landing
17+
AWS_REGION_NAME : eu-central-1
18+
BUILD_DIR : public/
19+
CONTACT_US_URL: https://testio--partial.sandbox.my.salesforce-sites.com/leadcapture/services/apexrest/leadservice
20+
DOCUMENTATION_URL: //reportportal.io/docs
21+
GTM_ID: GTM-MK7ZHTL
22+
CLOUDFRONT_ID: EILUB1IE9EON0
23+
CONTENTFUL_ENV_ID: master
24+
CONTENTFUL_HOST: cdn.contentful.com
25+
GATSBY_MAILCHIMP_LIST_ID: ca6d0eec5b
26+
CONTENTFUL_ACCESS_TOKEN: ${{ inputs.CONTENTFUL_ACCESS_TOKEN }}
27+
28+
on:
29+
workflow_call:
30+
inputs:
31+
CONTENTFUL_ACCESS_TOKEN:
32+
type: string
33+
required: true
34+
35+
jobs:
36+
empty-s3-bucket:
37+
runs-on: ubuntu-latest
38+
steps:
39+
- name: Set AWS credentials
40+
uses: aws-actions/configure-aws-credentials@v1
41+
with:
42+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
43+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
44+
aws-region: ${{ env.AWS_REGION_NAME }}
45+
46+
- name: Empty AWS S3 bucket
47+
run: aws s3 rm s3://${{ env.AWS_S3_BUCKET_NAME }} --recursive
48+
49+
deploy:
50+
runs-on: ubuntu-latest
51+
needs: [empty-s3-bucket]
52+
steps:
53+
- name: Checkout repository
54+
uses: actions/checkout@v4
55+
56+
- name: Set up Node.js
57+
uses: actions/setup-node@v4
58+
with:
59+
node-version: 18
60+
61+
- name: Install of node dependencies
62+
run: npm install
63+
64+
- name: create env file
65+
run: |
66+
touch .env.production
67+
echo CONTENTFUL_ACCESS_TOKEN=${{ env.CONTENTFUL_ACCESS_TOKEN }} >> .env.production
68+
echo CONTENTFUL_SPACE_ID=${{ secrets.CONTENTFUL_SPACE_ID_DEV }} >> .env.production
69+
echo CONTENTFUL_ENV_ID=${{ env.CONTENTFUL_ENV_ID }} >> .env.production
70+
echo CONTENTFUL_HOST=${{ env.CONTENTFUL_HOST }} >> .env.production
71+
echo GTM_ID=${{ env.GTM_ID }} >> .env.production
72+
echo CONTACT_US_URL=${{ env.CONTACT_US_URL }} >> .env.production
73+
echo DOCUMENTATION_URL=${{ env.DOCUMENTATION_URL }} >> .env.production
74+
echo GATSBY_MAILCHIMP_LIST_ID=${{ env.GATSBY_MAILCHIMP_LIST_ID }} >> .env.production
75+
76+
- name: Build the source code
77+
run: npm run build
78+
79+
- name: Set AWS credentials
80+
uses: aws-actions/configure-aws-credentials@v1
81+
with:
82+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
83+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
84+
aws-region: ${{ env.AWS_REGION_NAME }}
85+
86+
- name: Deploy to AWS S3
87+
run: aws s3 sync ./${{ env.BUILD_DIR }} s3://${{ env.AWS_S3_BUCKET_NAME }}
88+
89+
- name: Clearing CloudFront cache for the entire distribution
90+
run: aws cloudfront create-invalidation --distribution-id ${{ env.CLOUDFRONT_ID }} --paths "/*"
+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright 2024 EPAM Systems
2+
# Licensed under the Apache License, Version 2.0 (the "License");
3+
# you may not use this file except in compliance with the License.
4+
# You may obtain a copy of the License at
5+
#
6+
# http://www.apache.org/licenses/LICENSE-2.0
7+
#
8+
# Unless required by applicable law or agreed to in writing, software
9+
# distributed under the License is distributed on an "AS IS" BASIS,
10+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
# See the License for the specific language governing permissions and
12+
# limitations under the License.
13+
14+
name: Deploy to dev in Contentful preview mode (AWS S3)
15+
16+
on:
17+
workflow_dispatch:
18+
19+
jobs:
20+
use-base:
21+
uses: ./.github/workflows/deploy-dev-base.yml
22+
with:
23+
CONTENTFUL_ACCESS_TOKEN: ${{ secrets.CONTENTFUL_PREVIEW_ACCESS_TOKEN_DEV }}
24+
env:
25+
CONTENTFUL_HOST: preview.contentful.com

.github/workflows/deploy-dev.yml

+5-65
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,7 @@
1111
# See the License for the specific language governing permissions and
1212
# limitations under the License.
1313

14-
name: Deploy to dev (AWS S3)
15-
env:
16-
AWS_S3_BUCKET_NAME : "rpp-landing"
17-
AWS_REGION_NAME : "eu-central-1"
18-
BUILD_DIR : "public/"
19-
CONTACT_US_URL: https://testio--partial.sandbox.my.salesforce-sites.com/leadcapture/services/apexrest/leadservice
20-
DOCUMENTATION_URL: //reportportal.io/docs
21-
GTM_ID: GTM-MK7ZHTL
22-
CLOUDFRONT_ID: EILUB1IE9EON0
23-
CONTENTFUL_ENV_ID: 'master'
24-
GATSBY_MAILCHIMP_LIST_ID: ca6d0eec5b
14+
name: Deploy to dev in Contentful production mode (AWS S3)
2515

2616
on:
2717
push:
@@ -32,57 +22,7 @@ on:
3222
workflow_dispatch:
3323

3424
jobs:
35-
empty-s3-bucket:
36-
runs-on: ubuntu-latest
37-
steps:
38-
- name: Set AWS credentials
39-
uses: aws-actions/configure-aws-credentials@v1
40-
with:
41-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
42-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
43-
aws-region: ${{ env.AWS_REGION_NAME }}
44-
45-
- name: Empty AWS S3 bucket
46-
run: aws s3 rm s3://${{ env.AWS_S3_BUCKET_NAME }} --recursive
47-
48-
deploy:
49-
runs-on: ubuntu-latest
50-
needs: [empty-s3-bucket]
51-
steps:
52-
- name: Checkout repository
53-
uses: actions/checkout@v4
54-
55-
- name: Set up Node.js
56-
uses: actions/setup-node@v4
57-
with:
58-
node-version: 18
59-
60-
- name: Install of node dependencies
61-
run: npm install
62-
63-
- name: create env file
64-
run: |
65-
touch .env.production
66-
echo CONTENTFUL_ACCESS_TOKEN=${{ secrets.CONTENTFUL_ACCESS_TOKEN_DEV }} >> .env.production
67-
echo CONTENTFUL_SPACE_ID=${{ secrets.CONTENTFUL_SPACE_ID_DEV }} >> .env.production
68-
echo CONTENTFUL_ENV_ID=${{ env.CONTENTFUL_ENV_ID }} >> .env.production
69-
echo GTM_ID=${{ env.GTM_ID }} >> .env.production
70-
echo CONTACT_US_URL=${{ env.CONTACT_US_URL }} >> .env.production
71-
echo DOCUMENTATION_URL=${{ env.DOCUMENTATION_URL }} >> .env.production
72-
echo GATSBY_MAILCHIMP_LIST_ID=${{ env.GATSBY_MAILCHIMP_LIST_ID }} >> .env.production
73-
74-
- name: Build the source code
75-
run: npm run build
76-
77-
- name: Set AWS credentials
78-
uses: aws-actions/configure-aws-credentials@v1
79-
with:
80-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
81-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
82-
aws-region: ${{ env.AWS_REGION_NAME }}
83-
84-
- name: Deploy to AWS S3
85-
run: aws s3 sync ./${{ env.BUILD_DIR }} s3://${{ env.AWS_S3_BUCKET_NAME }}
86-
87-
- name: Clearing CloudFront cache for the entire distribution
88-
run: aws cloudfront create-invalidation --distribution-id ${{ env.CLOUDFRONT_ID }} --paths "/*"
25+
use-base:
26+
uses: ./.github/workflows/deploy-dev-base.yml
27+
with:
28+
CONTENTFUL_ACCESS_TOKEN: ${{ secrets.CONTENTFUL_ACCESS_TOKEN_DEV }}

.github/workflows/deploy-prod.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ env:
1616
CONTACT_US_URL: https://testio.my.salesforce-sites.com/leadcapture/services/apexrest/leadservice
1717
DOCUMENTATION_URL: //reportportal.io/docs
1818
GTM_ID: GTM-MK7ZHTL
19-
BUILD_DIR : "public/"
20-
CONTENTFUL_ENV_ID : "master"
19+
BUILD_DIR : public/
20+
CONTENTFUL_ENV_ID : master
21+
CONTENTFUL_HOST : cdn.contentful.com
2122
GATSBY_MAILCHIMP_LIST_ID: ca6d0eec5b
2223

2324
on:
@@ -53,6 +54,7 @@ jobs:
5354
echo CONTENTFUL_ACCESS_TOKEN=${{ secrets.CONTENTFUL_ACCESS_TOKEN }} >> .env.production
5455
echo CONTENTFUL_SPACE_ID=${{ secrets.CONTENTFUL_SPACE_ID }} >> .env.production
5556
echo CONTENTFUL_ENV_ID=${{ env.CONTENTFUL_ENV_ID }} >> .env.production
57+
echo CONTENTFUL_HOST=${{ env.CONTENTFUL_HOST }} >> .env.production
5658
echo GTM_ID=${{ env.GTM_ID }} >> .env.production
5759
echo CONTACT_US_URL=${{ env.CONTACT_US_URL }} >> .env.production
5860
echo DOCUMENTATION_URL=${{ env.DOCUMENTATION_URL }} >> .env.production

gatsby-config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ const config: GatsbyConfig = {
3737
spaceId: process.env.CONTENTFUL_SPACE_ID,
3838
accessToken: process.env.CONTENTFUL_ACCESS_TOKEN,
3939
environment: process.env.CONTENTFUL_ENV_ID,
40+
host: process.env.CONTENTFUL_HOST,
4041
},
4142
},
4243
{

0 commit comments

Comments
 (0)