From bb8495f41fd46a010cfd7b91158ff222829c1eda Mon Sep 17 00:00:00 2001
From: Frank Sauerburger <frank@sauerburger.com>
Date: Thu, 17 Jan 2019 01:30:51 +0100
Subject: [PATCH] Add CI jobs to build and deploy

---
 .gitlab-ci.yml | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)
 create mode 100644 .gitlab-ci.yml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000..0cbffc3
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,71 @@
+variables:
+  LOCAL_DIR: public
+
+stages: 
+ - build
+ - test_deployment
+ - production_deployment
+
+.sftp: &sftp_template
+  image: ${CI_REGISTRY_IMAGE}/ubuntu_sftp
+  tags:
+    - wasenweiler.sit-servers.net
+  script:
+    - mkdir -p ~/.ssh
+    - echo "${SFTP_KEY}" > ~/.ssh/id_rsa
+    - echo "${SFTP_HOSTCERT}" > ~/.ssh/known_hosts
+    - chmod 600 ~/.ssh/*
+    - mv ${LOCAL_DIR} ${REMOTE_DIR}
+    - sed -i "s/%%%DB_PASSWORD%%%/${DB_PASSWORD}/g" ${REMOTE_DIR}/config.php;
+    - sed -i "s/%%%SALT%%%/${SALT}/g" ${REMOTE_DIR}/config.php;
+    - sftp ${SFTP_USERNAME}@${SFTP_HOST} <<< "put -r ${REMOTE_DIR}"
+
+
+brunch_build:
+  stage: build
+  image: npm
+  before_script:
+    - npm i -g brunch
+  script:
+    - brunch b -p
+  artifacts:
+    paths:
+      - public/*
+    expire_in: 3 days
+
+test_deploy: 
+  stage: test_deployment
+  dependencies:
+    - brunch_build
+  variables:
+    SFTP_USERNAME: ${TEST_USERNAME}
+    SFTP_KEY: ${TEST_KEY}
+    SFTP_HOST: ${TEST_HOST}
+    SFTP_HOSTCERT: ${TEST_HOSTCERT}
+    REMOTE_DIR: ${TEST_DIR}
+    GIT_STRATEGY: none
+
+  environment:
+    name: Preview
+    url: http://tls-tracking.preview.sauerburger.com/
+
+  <<: *sftp_template
+
+test_deploy: 
+  stage: production_deployment
+  dependencies:
+    - brunch_build
+  variables:
+    SFTP_USERNAME: ${PRODUCTION_USERNAME}
+    SFTP_KEY: ${PRODUCTION_KEY}
+    SFTP_HOST: ${PRODUCTION_HOST}
+    SFTP_HOSTCERT: ${PRODUCTION_HOSTCERT}
+    REMOTE_DIR: ${PRODUCTION_DIR}
+    GIT_STRATEGY: none
+
+  environment:
+    name: Production
+    url: http://tls-tracking.sauerburger.com/
+
+  <<: *sftp_template
+
-- 
GitLab