From 2be053b45dc718d323f0e479b92905f6145681d8 Mon Sep 17 00:00:00 2001 From: Martin/Geno Date: Thu, 28 Feb 2019 15:16:30 +0100 Subject: [PATCH] ci auto deploy --- .gitlab-ci.yml | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ccfb842..e143c6d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,22 +2,23 @@ image: golang:latest stages: - build - test + - deploy before_script: - - mkdir -p /go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/ - - cp -R /builds/$CI_PROJECT_PATH /go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/ - - cd /go/src/dev.sum7.eu/$CI_PROJECT_PATH + - mkdir -p "/go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/" + - cp -R "/builds/$CI_PROJECT_PATH" "/go/src/dev.sum7.eu/$CI_PROJECT_NAMESPACE/" + - cd "/go/src/dev.sum7.eu/$CI_PROJECT_PATH" - go get -d -t ./... build-my-project: stage: build script: - - go install dev.sum7.eu/$CI_PROJECT_PATH - - mv /go/bin/$CI_PROJECT_NAME /builds/$CI_PROJECT_PATH + - go install "dev.sum7.eu/$CI_PROJECT_PATH" + - mv "/go/bin/$CI_PROJECT_NAME" "/builds/$CI_PROJECT_PATH" artifacts: paths: - config_example.conf - - $CI_PROJECT_NAME + - "$CI_PROJECT_NAME" test-my-project: stage: test @@ -35,3 +36,16 @@ test-race-my-project: stage: test script: - go test -race ./... + +deploy: + stage: deploy + only: + - master + script: + - go install "dev.sum7.eu/$CI_PROJECT_PATH" + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null + - echo $SSH_PORT "/go/bin/$CI_PROJECT_NAME" "$CI_PROJECT_NAME@$SSH_HOST":/opt/$CI_PROJECT_NAME/bin + - scp -6 -P $SSH_PORT "/go/bin/$CI_PROJECT_NAME" "$CI_PROJECT_NAME@$SSH_HOST":/opt/$CI_PROJECT_NAME/bin + - ssh -6 -p $SSH_PORT "$CI_PROJECT_NAME@$SSH_HOST" sudo /usr/bin/systemctl restart $CI_PROJECT_NAME