Skip to content
Extraits de code Groupes Projets
Valider 75efbb59 rédigé par Mohsine's avatar Mohsine
Parcourir les fichiers

Update .gitlab-ci.yml

parent 918ac14f
Branches
Aucune requête de fusion associée trouvée
Pipeline #1635 annulé avec les étapes
in 11 secondes
stages:
- build
- deploy
- notify_discord
build_test:
......@@ -16,13 +17,66 @@ build_test:
deploy:
stage: deploy
image: node:18
image: docker:20.10.16
services:
- docker:dind
variables:
DOCKER_DRIVER: overlay2
before_script:
- 'which docker || ( apt-get update -y && apt-get install docker.io -y )'
- echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin
- mkdir -p ~/.ssh
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa_gitlab_nopass_mc_vps
- chmod 600 ~/.ssh/id_rsa_gitlab_nopass_mc_vps
- eval $(ssh-agent -s)
- ssh-add ~/.ssh/id_rsa_gitlab_nopass_mc_vps
- ssh-keyscan ${PLESK_HOST_REC} >> ~/.ssh/known_hosts
- docker info
- echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
script:
- echo "Building Docker image..."
- docker build -t ${DOCKER_IMAGE_PATH}:rec .
- docker push ${DOCKER_IMAGE_PATH}:rec
- echo "Creating directory on VPS if it doesn't exist..."
- ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa_gitlab_nopass_mc_vps ${PLESK_USER}@${PLESK_HOST_REC} "mkdir -p /projects/${CONTAINER_NAME}/"
- echo "Transferring docker-compose.yml and .env files to VPS..."
- scp -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa_gitlab_nopass_mc_vps docker-compose.yml ${PLESK_USER}@${PLESK_HOST_REC}:/projects/${CONTAINER_NAME}/docker-compose.yml
- scp -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa_gitlab_nopass_mc_vps .env ${PLESK_USER}@${PLESK_HOST_REC}:/projects/${CONTAINER_NAME}/.env
- echo -e "DOCKER_IMAGE_PATH=${DOCKER_IMAGE_PATH}\nCONTAINER_NAME=${CONTAINER_NAME}\nHOST_PORT=${HOST_PORT}\nCONTAINER_PORT=${CONTAINER_PORT}" > .env.rec
- scp -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa_gitlab_nopass_mc_vps .env.rec ${PLESK_USER}@${PLESK_HOST_REC}:/projects/${CONTAINER_NAME}/.env.rec
- echo "Deploying Docker image to VPS..."
- |
ssh -o StrictHostKeyChecking=no -i ~/.ssh/id_rsa_gitlab_nopass_mc_vps ${PLESK_USER}@${PLESK_HOST_REC} "
cd /projects/${CONTAINER_NAME}/
echo '$DOCKER_PASSWORD' | docker login -u '$DOCKER_USERNAME' --password-stdin
docker-compose down
docker rm -f ${CONTAINER_NAME} || true
cat .env.rec >> .env
docker-compose pull
docker-compose up -d
"
only:
- develop
notify_discord:
stage: notify_discord
script:
- |
curl -H "Content-Type: application/json" \
-X POST \
-d '{
"content": ":rocket: **New Release Deployed to Sandbox!** :rocket:\n\n**Project:** `'${CONTAINER_NAME}'`\n**URL:** '${RECIPE_URL}'\n\nThe new version has been successfully deployed to the sandbox environment. Click [here]('${RECIPE_URL}') to access it! :sparkles:"
}' \
"${DISCORD_SANDBOX_WEBHOOK_URL}"
only:
- develop
when: on_success
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter