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