Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
KNIGHT
Asyst Moodle Plugin
Commits
2b2ac942
Commit
2b2ac942
authored
Dec 10, 2024
by
Baranovskyi
Browse files
Update .gitlab-ci.yml file
parent
9e9fc62c
Pipeline
#10507
failed
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
.gitlab-ci.yml
View file @
2b2ac942
# This file is a template, and might need editing before it works on your project.
# This file is a template, and might need editing before it works on your project.
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
# it uses echo commands to simulate the pipeline execution.
#
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
# Stages run in sequential order, but jobs within stages run in parallel.
#
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
#
# You can copy and paste this template into a new `.gitlab-ci.yml` file.
# You should not add this template to an existing `.gitlab-ci.yml` file by using the `include:` keyword.
#
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Docker.gitlab-ci.yml
# Build a Docker image with CI/CD and push to the GitLab registry.
# Docker-in-Docker documentation: https://docs.gitlab.com/ee/ci/docker/using_docker_build.html
#
# This template uses one generic job with conditional builds
# for the default branch and all other (MR) branches.
stages
:
stages
:
-
build
-
build
...
@@ -22,38 +16,47 @@ stages:
...
@@ -22,38 +16,47 @@ stages:
variables
:
variables
:
DOCKER_HOST
:
tcp://docker:2375
DOCKER_HOST
:
tcp://docker:2375
DOCKER_DRIVER
:
overlay2
DOCKER_TLS_CERTDIR
:
"
"
DOCKER_TLS_CERTDIR
:
"
"
DOCKER_BUILDKIT
:
1
build-docker-image
:
build-docker-image
:
image
:
docker:latest
image
:
docker:latest
stage
:
build
stage
:
build
services
:
services
:
-
docker:dind
-
docker:dind
command
:
[
"
--tls=false"
]
before_script
:
before_script
:
-
echo "$DOCKER_PW" | docker login --username "$DOCKER_USER" --password-stdin
-
docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
script
:
script
:
-
docker build -t "$DOCKER_REPO/$PROJECT:$CI_COMMIT_REF_SLUG" .
-
>
-
docker push "$DOCKER_REPO/$PROJECT:$CI_COMMIT_REF_SLUG"
if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
only
:
tag="latest";
-
branches
else
tag="$CI_COMMIT_REF_SLUG";
fi
-
docker build --pull -t "$CI_REGISTRY_IMAGE:$tag" .
-
docker push "$CI_REGISTRY_IMAGE:$tag"
rules
:
-
exists
:
-
Dockerfile
deploy-to-bw-cloud
:
deploy-to-bw-cloud
:
stage
:
deploy
image
:
alpine:latest
image
:
alpine:latest
stage
:
deploy
before_script
:
before_script
:
-
apk add --no-cache openssh-client
-
apk add --no-cache sshpass
-
mkdir -p ~/.ssh
-
echo "$BW_CLOUD_SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
-
chmod 600 ~/.ssh/id_rsa
-
ssh-keyscan -H "$BW_CLOUD_IP" >> ~/.ssh/known_hosts
script
:
script
:
-
>
-
>
ssh "$BW_CLOUD_USER@$BW_CLOUD_IP" "
if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
docker pull $DOCKER_REPO/$PROJECT:$CI_COMMIT_REF_SLUG &&
tag="latest";
else
tag="$CI_COMMIT_REF_SLUG";
fi
-
sshpass -p "$BW_CLOUD_PASSWORD" ssh -o StrictHostKeyChecking=no "$BW_CLOUD_USER@$BW_CLOUD_HOST" "
docker pull $CI_REGISTRY_IMAGE:$tag &&
docker stop flask-container ||
true
&&
docker stop flask-container ||
true
&&
docker rm flask-container ||
true
&&
docker rm flask-container ||
true
&&
docker run -d --name flask-container -p 5001:5000 $
DOCKER_REPO/$PROJECT:$CI_COMMIT_REF_SLUG
docker run -d --name flask-container -p 5001:5000 $
CI_REGISTRY_IMAGE:$tag
"
"
only
:
only
:
-
main
-
main
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment