-
Notifications
You must be signed in to change notification settings - Fork 2
55 lines (44 loc) · 1.23 KB
/
production.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
name: CI/CD
on:
push:
branches:
- master
workflow_dispatch:
env:
URL_PRD: loganmarchione.com
jobs:
deploy-development:
uses: ./.github/workflows/development.yml
secrets: inherit
deploy-production:
name: Deploy (loganmarchione.com)
needs: deploy-development
runs-on: ubuntu-latest
steps:
- name: Check out the codebase
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: '1.20'
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest'
extended: true
- name: Build
run: hugo --gc --baseURL="https://${{ env.URL_PRD }}"
- name: SSH setup
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_KEY }}" > ~/.ssh/deploy_key
ssh-keyscan -p ${{ secrets.DEPLOY_PORT }} ${{ env.URL_PRD }} > ~/.ssh/known_hosts
chmod -R 700 ~/.ssh
chmod 600 ~/.ssh/deploy_key
- name: Rsync
run: |
rsync -rltvz --delete --omit-dir-times \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.DEPLOY_PORT }}" public/ \
${{ secrets.DEPLOY_USER }}@${{ env.URL_PRD }}:/var/www/${{ env.URL_PRD }}