forked from oracle/weblogic-azure
-
Notifications
You must be signed in to change notification settings - Fork 1
108 lines (104 loc) · 5.22 KB
/
setupWlsAksDependency.yml
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
name: Setup DB and Storage Account
on:
workflow_dispatch:
# Sample cURL
# curl --verbose -X POST https://api.github.com/repos/<github_user>/weblogic-azure/dispatches -H 'Accept: application/vnd.github.everest-preview+json' -H 'Authorization: token <personal_access_token>' --data '{"event_type": "aks-deploy-dependency"}'
repository_dispatch:
types: [aks-deploy-dependency]
env:
azureCredentials: ${{ secrets.AZURE_CREDENTIALS }}
location: eastus
dbAdminUser: weblogic
dbPassword: ${{ secrets.DB_PASSWORD }}
dbName: wlsdb${{ github.run_id }}${{ github.run_number }}
dbServerName: weblogicdb
resourceGroupForDB: wlsd-db-${{ github.run_id }}-${{ github.run_number }}
resourceGroupForStorageAccount: wlsd-sa-${{ github.run_id }}-${{ github.run_number }}
storageAccountName: wlsdsa${{ github.run_id }}${{ github.run_number }}
storageContainerName: wlsdcon${{ github.run_id }}${{ github.run_number }}
jobs:
deploy-db:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- name: Set AZ CLI Version
id: set-az-cli-version
uses: ./.github/actions/setvars
with:
varFilePath: ./.github/variables/vm-dependencies.env
- uses: azure/login@v1
id: azure-login
with:
creds: ${{ env.azureCredentials }}
- name: Create Resource Group
uses: azure/CLI@v1
with:
azcliversion: ${{ env.azCliVersion }}
inlineScript: |
echo "create resource group" ${{ env.resourceGroupForDB }}
az group create --verbose --name ${{ env.resourceGroupForDB }} --location ${{ env.location }}
- uses: actions/checkout@v2.3.4
- name: Set up PostgreSQL Flexible Server that allows access from Azure services
uses: ./.github/actions/createPostgresqlFlexibleServer
with:
dbAdminUser: ${{ env.dbAdminUser }}
dbName: ${{ env.dbName }}
dbPassword: ${{ env.dbPassword }}
dbServerName: ${{ env.dbServerName }}
location: ${{ env.location }}
resourceGroupName: ${{ env.resourceGroupForDB }}
deploy-storage-account:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.4
- name: Set AZ CLI Version
id: set-az-cli-version
uses: ./.github/actions/setvars
with:
varFilePath: ./.github/variables/vm-dependencies.env
- uses: azure/login@v1
id: azure-login
with:
creds: ${{ env.azureCredentials }}
- name: Create Resource Group
uses: azure/CLI@v1
with:
azcliversion: ${{ env.azCliVersion }}
inlineScript: |
echo "create resource group" ${{ env.resourceGroupForStorageAccount }}
az group create --verbose --name ${{ env.resourceGroupForStorageAccount }} --location ${{ env.location }}
- name: Create Storage Account
uses: azure/CLI@v1
with:
azcliversion: ${{ env.azCliVersion }}
inlineScript: |
az storage account create --name ${{ env.storageAccountName }} \
--resource-group ${{ env.resourceGroupForStorageAccount }} \
--location ${{ env.location }} \
--sku Standard_LRS \
--kind StorageV2
- name: Create Storage Container
uses: azure/CLI@v1
with:
azcliversion: ${{ env.azCliVersion }}
inlineScript: |
az storage container create -n ${{ env.storageContainerName }} --account-name ${{ env.storageAccountName }}
format-db-sa-parameters-for-integration-test:
needs: [deploy-storage-account, deploy-db]
runs-on: ubuntu-latest
steps:
- name: Generate integration-test parameter json
id: artifact_file
run: |
cat <<EOF >integration-test-data.txt
# sample request
curl --verbose -X POST https://api.github.com/repos/${{ github.repository_owner }}/weblogic-azure/dispatches -H 'Accept: application/vnd.github.everest-preview+json' -H 'Authorization: token <personal_access_token>' --data '<request_data>'
# copy the JSON as <request_data>
{"event_type": "aks-integration-test-without-dependency-creation", "client_payload": {"gitUserNameForArtifactsLocation": "${{ github.repository_owner }}", "testBranchNameForArtifactsLocation": "${{ github.ref }}", "isForDemo": "false", "disambiguationSuffix": "${{ github.run_id }}", "storageAccountName": "${{ env.storageAccountName }}", "storageContainerName": "${{ env.storageContainerName }}", "dbName": "${{ env.dbName }}"}}
EOF
- name: Archive integration-test-data.txt
uses: actions/upload-artifact@v4
if: success()
with:
name: integration-test-data
path: integration-test-data.txt