Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Edadil
MS
model
Commits
b3799136
You need to sign in or sign up before continuing.
Commit
b3799136
authored
3 weeks ago
by
Шаронов Егор Алексеевич
Browse files
Options
Download
Patches
Plain Diff
Update .gitlab-ci.yml file
parent
0ab5adca
master
No related merge requests found
Pipeline
#172743
passed with stages
in 1 minute and 31 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+17
-4
.gitlab-ci.yml
with
17 additions
and
4 deletions
+17
-4
.gitlab-ci.yml
+
17
−
4
View file @
b3799136
...
@@ -3,10 +3,15 @@ stages:
...
@@ -3,10 +3,15 @@ stages:
-
deploy
-
deploy
variables
:
variables
:
IMAGE_NAME
:
$CI_REGISTRY_IMAGE
# Адрес реестра, куда пушим образы.
REGISTRY_URL
:
registry.miem.hse.ru
# Полное имя образа: <registry>/<namespace>/<repository>
IMAGE_NAME
:
$REGISTRY_URL/edadil/ms/model
# Неймспейс Kubernetes, куда деплоится приложение.
KUBE_NAMESPACE
:
productassistant
KUBE_NAMESPACE
:
productassistant
before_script
:
before_script
:
# Загружаем kubeconfig из переменной CI/CD
-
echo "$KUBECONFIG_DATA" > kubeconfig
-
echo "$KUBECONFIG_DATA" > kubeconfig
-
export KUBECONFIG=$CI_PROJECT_DIR/kubeconfig
-
export KUBECONFIG=$CI_PROJECT_DIR/kubeconfig
...
@@ -15,23 +20,31 @@ build:
...
@@ -15,23 +20,31 @@ build:
image
:
docker:latest
image
:
docker:latest
services
:
services
:
-
docker:dind
-
docker:dind
tags
:
-
docker
script
:
script
:
# Аутентификация в Docker реестре с использованием переменных, заданных в CI/CD
-
docker login -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" $REGISTRY_URL
# Сборка образа: указываем путь к Dockerfile (здесь предполагается, что Dockerfile лежит в каталоге deployment)
-
docker build -t $IMAGE_NAME:$CI_COMMIT_SHORT_SHA -f deployment/Dockerfile .
-
docker build -t $IMAGE_NAME:$CI_COMMIT_SHORT_SHA -f deployment/Dockerfile .
# Пушим образ в реестр
-
docker push $IMAGE_NAME:$CI_COMMIT_SHORT_SHA
-
docker push $IMAGE_NAME:$CI_COMMIT_SHORT_SHA
only
:
only
:
-
master
-
master
tags
:
-
docker
# <-- добавляем тег
deploy
:
deploy
:
stage
:
deploy
stage
:
deploy
image
:
lachlanevenson/k8s-kubectl:latest
image
:
lachlanevenson/k8s-kubectl:latest
tags
:
tags
:
-
docker
# <-- добавляем тот же тег, если нужно
-
docker
script
:
script
:
# Устанавливаем новый тег образа
-
export IMAGE_TAG=$CI_COMMIT_SHORT_SHA
-
export IMAGE_TAG=$CI_COMMIT_SHORT_SHA
# Подставляем новый тег в манифест (предполагается, что в app-deployment.yaml есть placeholder, например, ${IMAGE_TAG})
-
envsubst < deployment/k8s/app-deployment.yaml > deployment/k8s/app-deployment-temp.yaml
-
envsubst < deployment/k8s/app-deployment.yaml > deployment/k8s/app-deployment-temp.yaml
# Создаем неймспейс, если его еще нет
-
kubectl apply -f deployment/k8s/namespace.yaml --validate=false
-
kubectl apply -f deployment/k8s/namespace.yaml --validate=false
# Применяем манифест обновления для приложения в указанном неймспейсе
-
kubectl --namespace=$KUBE_NAMESPACE apply -f deployment/k8s/app-deployment-temp.yaml --validate=false
-
kubectl --namespace=$KUBE_NAMESPACE apply -f deployment/k8s/app-deployment-temp.yaml --validate=false
only
:
only
:
-
master
-
master
...
...
This diff is collapsed.
Click to expand it.
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!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets