@@ -78,11 +78,35 @@ jobs:
78
78
ref : main
79
79
token : " ${{ secrets.INTERNAL_ACTIONS_DX_BOT_ACCOUNT_TOKEN }}"
80
80
lfs : ' true'
81
- - run : ls -al ghes-data/data/backup/
82
- - run : ls -al ghes-data/data/backup/small/v3.8.0
83
- - run : tar -xvf ghes-data/data/backup/${{ inputs.size }}/v3.8.0/${{ inputs.size }}-refined.tar.gz
84
- - run : ls -al ghes-data/data/backup/${{ inputs.size }}
85
81
82
+ - name : Create backup directory
83
+ run : mkdir $HOME/ghe-backup-data
84
+
85
+ - name : Unzip backup
86
+ run : |
87
+ tar -xvf ghes-data/data/backup/${{ inputs.size }}/v3.8.0/${{ inputs.size }}-refined.tar.gz -C $HOME/ghe-backup-data
88
+ - name : set up ssh SSH_KEY
89
+ run : echo -e "${SSH_KEY}\n" > $HOME/backup
90
+ - name : set up ssh key permissions
91
+ run : chmod 0600 $HOME/backup
92
+ - name : change version
93
+ run : echo "3.8.0" > $HOME/version
94
+
95
+ - name : Prepare for restore
96
+ run : ssh -p122 -i $HOME/backup -o StrictHostKeyChecking=no admin@${{ inputs.hostname }} "ghe-maintenance -s"
97
+ - name : Restore data to instance
98
+ run : |
99
+ docker run -e "GHE_HOSTNAME=${{ inputs.hostname }}" \
100
+ -e "GHE_DATA_DIR=/data" \
101
+ -e "GHE_EXTRA_SSH_OPTS=-p 122 -i /ghe-ssh/id_rsa -o ServerAliveInterval=30 -o ServerAliveCountMax=12000 -o StrictHostKeyChecking=no" \
102
+ -e "GHE_NUM_SNAPSHOTS=15" \
103
+ -v "$HOME/ghe-backup-data:/data" \
104
+ -v "$HOME/backup:/ghe-ssh/id_rsa" \
105
+ -v "$HOME/version:/backup-utils/share/github-backup-utils/version" \
106
+ --rm \
107
+ backup-utils ghe-restore ${{ inputs.hostname }}
108
+ - name : Reset maintenance mode after restore
109
+ run : ssh -p122 -i $HOME/backup -o StrictHostKeyChecking=no admin@${{ inputs.hostname }} "ghe-maintenance -u"
86
110
87
111
88
112
0 commit comments