mirror of
https://github.com/ae-utbm/sith.git
synced 2024-11-26 11:04:20 +00:00
Merge branch 'skia/deploy_in_ci' into 'master'
gitlab-ci: deploy with Gitlab CI/CD This MR is a proof-of-concept for deploying the Sith using Gitlab CI/CD. It leverage the CI variable to use a private key that is deployed for the `sith` user of `ae-web`. The `prod.sh` script shall do the rest. TODO before merge: * [x] Ensure the private key variable is protected (currently done, but may change during development to be used on this branch) * [x] Remove this branch from the `only:refs` list * [x] Change `test_prod.sh` for the real script See merge request ae/Sith!293
This commit is contained in:
commit
5b0f7ca21b
@ -1,5 +1,6 @@
|
|||||||
stages:
|
stages:
|
||||||
- test
|
- test
|
||||||
|
- deploy
|
||||||
|
|
||||||
# Installs and launch unittests
|
# Installs and launch unittests
|
||||||
unittests:
|
unittests:
|
||||||
@ -47,3 +48,40 @@ black:
|
|||||||
cache:
|
cache:
|
||||||
paths:
|
paths:
|
||||||
- .cache/pip_black
|
- .cache/pip_black
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
stage: deploy
|
||||||
|
before_script:
|
||||||
|
##
|
||||||
|
## Install ssh-agent if not already installed, it is required by Docker.
|
||||||
|
## (change apt-get to yum if you use an RPM-based image)
|
||||||
|
##
|
||||||
|
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
|
||||||
|
|
||||||
|
##
|
||||||
|
## Run ssh-agent (inside the build environment)
|
||||||
|
##
|
||||||
|
- eval $(ssh-agent -s)
|
||||||
|
|
||||||
|
##
|
||||||
|
## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
|
||||||
|
## We're using tr to fix line endings which makes ed25519 keys work
|
||||||
|
## without extra base64 encoding.
|
||||||
|
## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
|
||||||
|
##
|
||||||
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
||||||
|
|
||||||
|
##
|
||||||
|
## Create the SSH directory and give it the right permissions
|
||||||
|
##
|
||||||
|
- mkdir -p ~/.ssh
|
||||||
|
- chmod 700 ~/.ssh
|
||||||
|
script:
|
||||||
|
- ssh -o StrictHostKeyChecking=accept-new sith@ae-web $SITH_PROD_SCRIPT_PATH
|
||||||
|
environment:
|
||||||
|
name: prod
|
||||||
|
url: https://ae.utbm.fr
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- master
|
||||||
|
when: on_success
|
||||||
|
Loading…
Reference in New Issue
Block a user