-
Notifications
You must be signed in to change notification settings - Fork 495
89 lines (73 loc) · 2.62 KB
/
deploy_beta_testing.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
name: 'Deploy to Beta Testing'
on:
push:
branches:
- develop
concurrency:
group: deploy-beta-testing
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- name: Enable API Session Auth feature flag
working-directory: src/main/resources/META-INF
run: echo -e "dataverse.feature.api-session-auth=true" >> microprofile-config.properties
- name: Set build number
run: scripts/installer/custom-build-number
- name: Build application war
run: mvn package
- name: Get war file name
working-directory: target
run: echo "war_file=$(ls *.war | head -1)">> $GITHUB_ENV
- name: Upload war artifact
uses: actions/upload-artifact@v4
with:
name: built-app
path: ./target/${{ env.war_file }}
deploy-to-payara:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Download war artifact
uses: actions/download-artifact@v4
with:
name: built-app
path: ./
- name: Get war file name
run: echo "war_file=$(ls *.war | head -1)">> $GITHUB_ENV
- name: Copy war file to remote instance
uses: appleboy/scp-action@master
with:
host: ${{ secrets.BETA_PAYARA_INSTANCE_HOST }}
username: ${{ secrets.BETA_PAYARA_INSTANCE_USERNAME }}
key: ${{ secrets.BETA_PAYARA_INSTANCE_SSH_PRIVATE_KEY }}
source: './${{ env.war_file }}'
target: '/home/${{ secrets.BETA_PAYARA_INSTANCE_USERNAME }}'
overwrite: true
- name: Execute payara war deployment remotely
uses: appleboy/[email protected]
env:
INPUT_WAR_FILE: ${{ env.war_file }}
with:
host: ${{ secrets.BETA_PAYARA_INSTANCE_HOST }}
username: ${{ secrets.BETA_PAYARA_INSTANCE_USERNAME }}
key: ${{ secrets.BETA_PAYARA_INSTANCE_SSH_PRIVATE_KEY }}
envs: INPUT_WAR_FILE
script: |
APPLICATION_NAME=dataverse-backend
ASADMIN='/usr/local/payara6/bin/asadmin --user admin'
$ASADMIN undeploy $APPLICATION_NAME
$ASADMIN stop-domain
rm -rf /usr/local/payara6/glassfish/domains/domain1/generated
rm -rf /usr/local/payara6/glassfish/domains/domain1/osgi-cache
$ASADMIN start-domain
$ASADMIN deploy --name $APPLICATION_NAME $INPUT_WAR_FILE
$ASADMIN stop-domain
$ASADMIN start-domain