-
Notifications
You must be signed in to change notification settings - Fork 0
66 lines (58 loc) · 2.13 KB
/
pipeline.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
name: CI/CD Workflow
on:
push:
branches:
- master
workflow_dispatch:
schedule:
- cron: '30 4 * * *'
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '10'
- name: Install SSH Client and Hugo
run: |
sudo apt update
sudo apt install openssh-client -y
wget https://github.com/gohugoio/hugo/releases/download/v0.58.3/hugo_0.58.3_Linux-64bit.tar.gz
tar -zxvf hugo_0.58.3_Linux-64bit.tar.gz
sudo mv hugo /usr/local/bin/
- name: Set up SSH agent
run: |
eval $(ssh-agent -s)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
echo -e "${{ secrets.SSH_PRIVATE_KEY }}" >> ~/.ssh/id_rsa
chmod 400 ~/.ssh/id_rsa
- name: Node and Hugo versions
run: |
node --version
hugo version
- name: Execute Variables and Build
env:
API_URL: ${{ vars.API_URL }}
AUTH_TOKEN: ${{ vars.AUTH_TOKEN }}
BASE_URL: ${{ vars.BASE_URL }}
CLEAN_URL_FIELD: ${{ vars.CLEAN_URL_FIELD }}
EVENTS_PROJECT_ID: ${{ vars.EVENTS_PROJECT_ID }}
EVENT_CANCELLED_FIELD: ${{ vars.EVENT_CANCELLED_FIELD }}
HUGO_VERSION: ${{ vars.HUGO_VERSION }}
LOCATION_FIELD: ${{ vars.LOCATION_FIELD }}
NEWS_PROJECT_ID: ${{ vars.NEWS_PROJECT_ID }}
PRESS_PROJECT_ID: ${{ vars.PRESS_PROJECT_ID }}
run: |
npm install
node create_md_files/createMdFile.js && hugo
- name: Archive build artifacts
run: |
tar -czvf www.unblock.health_dist.tar.gz public
- name: Copy build artifacts to the production server
run: |
scp -P22 -o StrictHostKeyChecking=no www.unblock.health_dist.tar.gz "${{ secrets.PRODUCTION_USER }}@${{ secrets.PRODUCTION_SERVER_IP }}:"
ssh -p22 -o StrictHostKeyChecking=no -t ${{ secrets.PRODUCTION_USER }}@${{ secrets.PRODUCTION_SERVER_IP }} "bash -i update-unblock-health-com.sh"