очистка в ci/cd
От: Qulac Россия  
Дата: 01.07.25 07:18
Оценка:
Делаю свой пейплайн и столкнулся с проблемой: старый образ и контейнер мешают новому образу и контейнеру т.е. нужно их удалять, стандартные команды докера с этим справляются если они уже есть, а если их нет — возвращают ошибку, т.е. при первом запуске у меня пейплайн не работает. Это конечно можно обойти, но хочется универсальное решение, т.е. какой то скрипт который сначала проверяет наличие контейнера и образа и если они есть то их удаляет. ИИ генерит что то такое не понятное и не рабочее. Может кто знает как это можно сделать при помощи например powershell ?
Программа – это мысли спрессованные в код
Re: очистка в ci/cd
От: Qulac Россия  
Дата: 01.07.25 13:45
Оценка: 4 (1) +1
Здравствуйте, Qulac, Вы писали:

Q>Делаю свой пейплайн и столкнулся с проблемой: старый образ и контейнер мешают новому образу и контейнеру т.е. нужно их удалять, стандартные команды докера с этим справляются если они уже есть, а если их нет — возвращают ошибку, т.е. при первом запуске у меня пейплайн не работает. Это конечно можно обойти, но хочется универсальное решение, т.е. какой то скрипт который сначала проверяет наличие контейнера и образа и если они есть то их удаляет. ИИ генерит что то такое не понятное и не рабочее. Может кто знает как это можно сделать при помощи например powershell ?


Отбой, сам разобрался, тут хитрый синтаксис:
cleanup-job:
  stage: cleanup
  script:
    - |
      $containers = docker ps -a | Out-String
      if ($containers -like "*$env:CONTAINER_NAME*") {
        docker stop $env:CONTAINER_NAME
        docker rm $env:CONTAINER_NAME
      }

      $images = docker images | Out-String
      if ($images -like "*$env:IMAGE_NAME*") {
        docker rmi $env:IMAGE_NAME
      }
Программа – это мысли спрессованные в код
Re[2]: очистка в ci/cd
От: Qulac Россия  
Дата: 08.07.25 06:49
Оценка:
Здравствуйте, Qulac, Вы писали:

Q>Здравствуйте, Qulac, Вы писали:


Q>>Делаю свой пейплайн и столкнулся с проблемой: старый образ и контейнер мешают новому образу и контейнеру т.е. нужно их удалять, стандартные команды докера с этим справляются если они уже есть, а если их нет — возвращают ошибку, т.е. при первом запуске у меня пейплайн не работает. Это конечно можно обойти, но хочется универсальное решение, т.е. какой то скрипт который сначала проверяет наличие контейнера и образа и если они есть то их удаляет. ИИ генерит что то такое не понятное и не рабочее. Может кто знает как это можно сделать при помощи например powershell ?


Q>Отбой, сам разобрался, тут хитрый синтаксис:

Q>
Q>cleanup-job:
Q>  stage: cleanup
Q>  script:
Q>    - |
Q>      $containers = docker ps -a | Out-String
Q>      if ($containers -like "*$env:CONTAINER_NAME*") {
Q>        docker stop $env:CONTAINER_NAME
Q>        docker rm $env:CONTAINER_NAME
Q>      }

Q>      $images = docker images | Out-String
Q>      if ($images -like "*$env:IMAGE_NAME*") {
Q>        docker rmi $env:IMAGE_NAME
Q>      }
Q>


Поменял windows контейнер на linux — почему то перестало работать.
Программа – это мысли спрессованные в код
Re[3]: очистка в ci/cd
От: _NN_  
Дата: 20.09.25 06:44
Оценка:
Здравствуйте, Qulac, Вы писали:

Q>Поменял windows контейнер на linux — почему то перестало работать.


Логи то есть ?

А вообще это CI ?
Там и так на каждый запуск создаётся временный контейнер, который удаляется, зачем это делать вручную ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: очистка в ci/cd
От: Qulac Россия  
Дата: 20.09.25 06:50
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Здравствуйте, Qulac, Вы писали:


Q>>Поменял windows контейнер на linux — почему то перестало работать.


_NN>Логи то есть ?


_NN>А вообще это CI ?

_NN>Там и так на каждый запуск создаётся временный контейнер, который удаляется, зачем это делать вручную ?

Это стенд, он постоянно должен работать.
Программа – это мысли спрессованные в код
Re[5]: очистка в ci/cd
От: _NN_  
Дата: 25.09.25 12:43
Оценка:
Здравствуйте, Qulac, Вы писали:


_NN>>А вообще это CI ?

_NN>>Там и так на каждый запуск создаётся временный контейнер, который удаляется, зачем это делать вручную ?

Q>Это стенд, он постоянно должен работать.


Ну так он работает, а контейнере для CI внутри поднимаются и убиваются.
Или там сложнее ?
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: очистка в ci/cd
От: Qulac Россия  
Дата: 25.09.25 15:32
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Здравствуйте, Qulac, Вы писали:



_NN>>>А вообще это CI ?

_NN>>>Там и так на каждый запуск создаётся временный контейнер, который удаляется, зачем это делать вручную ?

Q>>Это стенд, он постоянно должен работать.


_NN>Ну так он работает, а контейнере для CI внутри поднимаются и убиваются.

_NN>Или там сложнее ?

Так и есть, я этого и хотел.
Программа – это мысли спрессованные в код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.