aboutsummaryrefslogtreecommitdiff
path: root/.drone.yml
blob: f2c0dba83ad6c08513e0899d48764a5ec07e8be2 (plain)
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
109
110
111
112
113
114
115
116
117
kind: pipeline
name: build-package-deploy

steps:
- name: build
  image: composer:1.8.6
  commands:
  - composer -V
  - composer install

- name: secrets
  image: alpine:3.10
  environment:
    EMAIL_USERNAME:
     from_secret: email_username
    HASHOVER_KEY:
      from_secret: hashover_key
    HASHOVER_ADMIN:
      from_secret: hashover_admin
    HASHOVER_PASSWORD:
      from_secret: hashover_password
  commands:
  - sed -i "s|email_username|$EMAIL_USERNAME|" bootstrap/comments/backend/classes/secrets.php
  - sed -i "s|hashover_key|$HASHOVER_KEY|" bootstrap/comments/backend/classes/secrets.php
  - sed -i "s|hashover_admin|$HASHOVER_ADMIN|" bootstrap/comments/backend/classes/secrets.php
  - sed -i "s|hashover_password|$HASHOVER_PASSWORD|" bootstrap/comments/backend/classes/secrets.php
  - mv AppConfigBuild.php AppConfig.php

- name: synchronize
  image: alpine:3.10
  environment:
    SSH_KEY:
     from_secret: ssh_key
    SSH_KEY_PASSWORD:
      from_secret: ssh_key_password
    SERVER_IP:
      from_secret: server_ip
    SERVER_USER:
      from_secret: server_user
  commands:
  - apk add openssh
  - echo "$SSH_KEY" > ssh-key && chmod 600 ssh-key
  - eval $(ssh-agent)
  - echo "$SSH_KEY_PASSWORD" | ssh-add ssh-key

  - > 
    scp -r -o stricthostkeychecking=no -vT -i ssh-key 
    $SERVER_USER@$SERVER_IP:/srv/http/edwinmattiacci.com/bootstrap/comments/comments 
    bootstrap/comments/

  - ls -la bootstrap/comments/comments/threads

- name: minify
  image: alpine:3.10
  commands:
  - wget https://github.com/tdewolff/minify/releases/download/v2.5.0/minify_2.5.0_linux_amd64.tar.gz
  - tar -xvf minify_2.5.0_linux_amd64.tar.gz
  - ./minify --version
  - ./minify public/css/app.css > public/css/app.min.$(date +%d%m%Y%H%M).css
  - ./minify public/dist/bar-ui.css > public/dist/bar-ui-css.min.$(date +%d%m%Y%H%M).css
  - ./minify public/dist/bar-ui.js > public/dist/bar-ui-js.min.$(date +%d%m%Y%H%M).js

  - sed -i "s|app.css|$(find public/css -name "app.min*" | awk -F/ '{print $NF}')|" views/partials/header.common.php
  - sed -i "s|bar-ui.css|$(find public/dist -name "bar-ui-css*" | awk -F/ '{print $NF}')|" views/partials/header.common.php
  - sed -i "s|bar-ui.js|$(find public/dist -name "bar-ui-js*" | awk -F/ '{print $NF}')|" views/partials/footer.php

- name: prepare
  image: alpine:3.10
  commands:
  - sed -i 's|/posts/|https://www.edwinmattiacci.com/posts/|' generators/hugo/config.toml
  - head -1 generators/hugo/config.toml
  - mkdir public/posts
  - cd generators/hugo && ln -s ../../public/posts/ public

- name: hugo
  image: alpine:3.10
  commands:
  - apk add hugo
  - hugo version
  - cd generators/hugo && hugo
  - cd ../../ && cp public/posts/sitemap.xml public/sitemap.xml

- name: deploy
  image: alpine:3.10
  environment:
    SSH_KEY:
     from_secret: ssh_key
    SSH_KEY_PASSWORD:
      from_secret: ssh_key_password
    SERVER_IP:
      from_secret: server_ip
    SERVER_USER:
      from_secret: server_user
  commands:
  - apk add openssh
  - echo "$SSH_KEY" > ssh-key && chmod 600 ssh-key
  - eval $(ssh-agent)
  - echo "$SSH_KEY_PASSWORD" | ssh-add ssh-key
  - >
    tar -czf edwinmattiacci.tar.gz assets bootstrap controllers
    generators model public vendor views AppConfig.php composer.json
    composer.lock
  - > 
    scp -r -o stricthostkeychecking=no -vT -i ssh-key 
    edwinmattiacci.tar.gz $SERVER_USER@$SERVER_IP:/srv/deploys/edwinmattiacci.com/

  - >
    ssh -o stricthostkeychecking=no -vT -i ssh-key $SERVER_USER@$SERVER_IP
    'export DATE=$(date +%H%M-%d%m-%Y) &&
    cd /srv/deploys/edwinmattiacci.com && 
    mkdir edwinmattiacci.com-$DATE && 
    tar -xvf edwinmattiacci.tar.gz -C edwinmattiacci.com-$DATE && 
    rm edwinmattiacci.tar.gz &&
    ln -s edwinmattiacci.com-$DATE edwinmattiacci.com-deploy-$DATE &&
    mv -Tf edwinmattiacci.com-deploy-$DATE edwinmattiacci.com-deploy &&
    chown nginx:nginx -R edwinmattiacci.com-deploy edwinmattiacci.com-$DATE &&
    ls -la'