172 похожих чатов

Я вообще только разбираюсь как работает доккер раннер. Прочел документацию,

но не совсем все понял. Просто для билда моего проекта есть компос файл, в нем описано какие контейнеры запустить, обычно я выполнял build/up этого компос файла и проект благополучно билдился. Но теперь я хочу сделать автоматический процес билда в гитлабе, и я не пойму подходит ли для меня вариант доккер раннера. Я создаю докер раннер, прописую в gitlab-ci.yml build/up своего компос файла и я так понимаю что получается какая-то шляпа, у меня контейнеры в контейнере создаются получается? Как это работает? Мне нужно содержимое компос файла перенести в gitla-ci.yml или что?

2 ответов

12 просмотров

у тебя докер в докере запускается а там уже как опишешь процесс, у меня дальше идет билд докер файла и копирование но я все одним докером делаю, в докер ранере у меня запускается кастомный контейнер

--- services: - docker:dind variables: GIT_DEPTH: "1" stages: - build - docker - deploy build: stage: build image: microsoft/dotnet:2.0.7-sdk-2.1.200 cache: key: build-cache paths: - .nuget/ artifacts: paths: - docker/bin expire_in: 1 day script: - dotnet restore --packages .nuget/packages src - dotnet publish -c Release -o $PWD/docker/bin src/Blythe.Web/Blythe.Web.csproj docker: stage: docker image: docker:stable cache: {} dependencies: - build before_script: - echo "$CI_BUILD_TOKEN" | docker login --username gitlab-ci-token "$CI_REGISTRY" --password-stdin script: - docker build --file docker/Dockerfile --tag $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA ./docker - docker push $CI_REGISTRY_IMAGE:latest - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA only: - develop - master .ssh_key: &ssh_key before_script: - > if [[ -z "${SSH_PRIVATE_KEY}" ]]; then echo "ERR not set variable or not protect." exit 1 fi - apk add --no-cache --update openssh-client - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh - echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts - chmod 644 ~/.ssh/known_hosts stage_server: stage: deploy image: docker:stable variables: SERVER: **** USER_SSH: **** PROJECT_DIR: '***' TYPE: 'stage' cache: {} dependencies: [] <<: *ssh_key script: - ssh $USER_SSH@$SERVER -t 'set -e ; mkdir -p '$PROJECT_DIR - scp ./docker/docker-compose-$TYPE.yml $USER_SSH@$SERVER:$PROJECT_DIR/docker-compose.yml - echo "IMAGE=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA" > ./.env_$TYPE - scp ./.env_$TYPE $USER_SSH@$SERVER:$PROJECT_DIR/.env - ssh $USER_SSH@$SERVER -t 'set -e ; cd '$PROJECT_DIR' ; docker-compose up -d --remove-orphans' only: variables: - $SSH_PRIVATE_KEY prod_server: stage: deploy image: docker:stable variables: SERVER: **** USER_SSH: **** PROJECT_DIR: '****' TYPE: 'prod' cache: {} dependencies: [] <<: *ssh_key script: - ssh $USER_SSH@$SERVER -t 'set -e ; mkdir -p '$PROJECT_DIR' ; /usr/local/bin/backup.py blythe blythe_postgres_1 blythe' - scp ./docker/docker-compose-$TYPE.yml $USER_SSH@$SERVER:$PROJECT_DIR/docker-compose.yml - echo "IMAGE=$CI_REGISTRY_IMAGE:$CI_COMMIT_SHA" > ./.env_$TYPE - scp ./.env_$TYPE $USER_SSH@$SERVER:$PROJECT_DIR/.env - ssh $USER_SSH@$SERVER -t 'set -e ; cd '$PROJECT_DIR' ; docker-compose up -d --remove-orphans ' only: - master when: manual ## vim: foldmethod=marker:tabstop=2:shiftwidth=2:softtabstop=2

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта