Форум программистов, компьютерный форум, киберфорум
Docker, Kubernetes
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 02.10.2022
Сообщений: 82

Проблема в Docker файле, github actions

28.06.2023, 23:24. Показов 442. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, подскажите пожалуйста - почему у меня проект в github actions собирается нормально, но вывода(артефакта) нет. Суть всех манипуляций следующая - Docker файл использую качестве контейнера, разворачиваю в github actions дистрибутив debian с утилитой iproute2. В контейнере выполняется команда /bin/ss -tulpn, которая получает список открытых портов - результат записывается в файл. Файл выкладывается в примонтированный к контейнеру каталог и используется, как артефакт сборки (упаковать в tar или deb).
На выходе: workflow-файл, Dockerfile, успешно прошедший процесс actions, артефакт, в одном из форматов.

Code Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
build.yml
name: Build and Package
 
on: [push]
 
jobs:
  build:
    runs-on: ubuntu-latest
 
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
 
    - name: Build and run Docker container
      run: |
        docker build -t mycontainer .
        docker run -v $(pwd)/output:/output mycontainer
        
    - name: Change permissions
      run: |
        sudo chmod -R 777 output/
        
    - name: Create artifact
      run: |
        cd output
        tar -cvzf result.tar.gz result.txt
        mv result.txt result.deb
      if: always()
 
    - name: Upload artifact
      uses: actions/upload-artifact@v2
      with:
        name: result-artifact
        path: output/result.tar.gz
Code Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 docker.yml
name: Example Workflow
 
on: [push]
 
jobs:
  build:
    runs-on: ubuntu-latest
 
    steps:
    - name: Checkout code
      uses: actions/checkout@v2
 
    - name: Build and run Docker container
      run: |
        docker build -t mycontainer .
        docker run -v $(pwd)/output:/output mycontainer
Code Скопировано
1
2
3
4
5
6
7
8
 docker файл
FROM debian
 
RUN apt-get update && apt-get install -y iproute2
 
RUN mkdir /output
 
CMD /bin/ss -tulpn > /output/result.txt
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2023, 23:24
Ответы с готовыми решениями:

Как заставить Github Actions не дожидаться завершения приложения запущенного на текущем step
Всем привет. У меня возникла проблема при настройке CI/CD с помощью Github Actions. Проблема связана с запуском приложения, а именно:...

Тесты кода на GitHub Actions
Как написать и запустить в github тесты? CodeStyle тест для html/css/js/nodejs. Vulnerabilities scanner для js/nodejs. Они...

Проблема с Docker
Всем привет. Только начал изучать docker. Хочу у себя локально настроить окружение для разработки на PHP. Делаю всё вот по этой...

6
 Аватар для IamRain
4604 / 2625 / 722
Регистрация: 02.08.2011
Сообщений: 7,043
29.06.2023, 04:37
Цитата Сообщение от VladislavSokol Посмотреть сообщение
ртефакт, в одном из форматов.
А какой артефакт вы ожидаете? - Не совсем понятно. У вас просто голый образ с одним файликом на выходе.
1
1 / 1 / 0
Регистрация: 02.10.2022
Сообщений: 82
29.06.2023, 08:48  [ТС]
Цитата Сообщение от IamRain Посмотреть сообщение
артефакт
я так понимаю, артефакт это файл, в который пойдет информация после выполнения команды - тут прописано, что должен быть вывод в tar.gz
Цитата Сообщение от VladislavSokol Посмотреть сообщение
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: result-artifact
path: output/result.tar.gz
p.s может, я поспешил, тк начал делать сразу проект в github actions, пропустив сборку в linux`е
0
 Аватар для IamRain
4604 / 2625 / 722
Регистрация: 02.08.2011
Сообщений: 7,043
29.06.2023, 09:06
На самом деле я не имел дело с github actions, но чисто логически попробуйте добавить трассировку в виде команд:
stat result.txt & stat result.tar.gz
Code Скопировано
1
2
3
4
5
6
7
8
- name: Create artifact
      run: |
        cd output
        stat result.txt
        tar -cvzf result.tar.gz result.txt
        stat result.tar.gz
        mv result.txt result.deb
      if: always()
Добавлено через 1 минуту
Дальше смотрите, есть он там или нету.
1
1 / 1 / 0
Регистрация: 02.10.2022
Сообщений: 82
29.06.2023, 09:39  [ТС]
Цитата Сообщение от IamRain Посмотреть сообщение
я не имел дело с github actions
Я просто не соображаю, а где вообще должен появиться артефакт готовый (добавил вашу часть кода, сборка проходит успешно - но выхлопа нет). Я на линуксе сделал такую вот операцию действий
Code Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ sudo docker build -t my-docker-image .
 
$ sudo service docker status
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; preset: enabled)
     Active: active (running) since Wed 2023-06-28 09:42:37 EDT; 16h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 606 (dockerd)
      Tasks: 12
     Memory: 162.1M
        CPU: 8.105s
     CGroup: /system.slice/docker.service
             └─606 /usr/sbin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
 
Jun 28 09:42:35 kali dockerd[606]: time="2023-06-28T09:42:35.141697072-04:00" level=info msg="Loading containers: done."
Jun 28 09:42:36 kali dockerd[606]: time="2023-06-28T09:42:36.676970314-04:00" level=info msg="Docker daemon" commit=5d6db84 graphdriver(s)=overlay2 version=20.10.24+dfsg1
Jun 28 09:42:36 kali dockerd[606]: time="2023-06-28T09:42:36.704216938-04:00" level=info msg="Daemon has completed initialization"
Jun 28 09:42:37 kali dockerd[606]: time="2023-06-28T09:42:37.046114922-04:00" level=info msg="API listen on /run/docker.sock"
Jun 28 09:42:37 kali systemd[1]: Started docker.service - Docker Application Container Engine.
Jun 28 11:13:06 kali dockerd[606]: time="2023-06-28T11:13:06.310575453-04:00" level=info msg="ignoring event" container=1925563364d992d0cb9298476da2da348e0a0ae8de26ac2fe6fb063c4c3b1004 module=libcontainerd namespace=moby topic=/tasks/>
Jun 28 11:13:11 kali dockerd[606]: time="2023-06-28T11:13:11.008724751-04:00" level=info msg="ignoring event" container=ed9c5c2de0ca1ce60be413446d1dccd543a72bb445f720797025aaba18939eb8 module=libcontainerd namespace=moby topic=/tasks/>
Jun 29 02:10:47 kali dockerd[606]: time="2023-06-29T02:10:47.751578650-04:00" level=info msg="ignoring event" container=4719fb7006bad9dbb3056e467290feb9fd8c2008fd509847f5d5f61079c3dadd module=libcontainerd namespace=moby topic=/tasks/>
Jun 29 02:10:51 kali dockerd[606]: time="2023-06-29T02:10:51.462260150-04:00" level=info msg="ignoring event" container=968964a336990df6da1d2ac253157b3ce8e0a2b243be49472c68a6d4c52ac693 module=libcontainerd namespace=moby topic=/tasks/>
Jun 29 02:10:53 kali dockerd[606]: time="2023-06-29T02:10:53.373218284-04:00" level=info msg="Layer sha256:063ae7e373895e3c9f388fc981a2a34391ef5fe2ae6f10bb1844583c081d8cdf cleaned up"
Code Скопировано
1
2
3
4
5
6
$ sudo ls -la /var/run/docker.sock
 
$ sudo chown kali:docker /var/run/docker.sock 
$ docker images                              
REPOSITORY        TAG       IMAGE ID       CREATED              SIZE
my-docker-image   latest    4d0a8ea86e15   About a minute ago   151MB
Добавлено через 10 минут
Цитата Сообщение от IamRain Посмотреть сообщение
Дальше смотрите, есть он там или нету.
Мне ребята с stack overflow сказали, что все работает - у нихhttps://github.com/montao/glow... 5407377909 даже появляется артефакт, а у меня нет https://github.com/HECCYLLIujT... 5409203599

Может, у вас есть какая-то идея, как у опытного программиста?
0
 Аватар для IamRain
4604 / 2625 / 722
Регистрация: 02.08.2011
Сообщений: 7,043
29.06.2023, 09:58
Лучший ответ Сообщение было отмечено VladislavSokol как решение

Решение

Цитата Сообщение от VladislavSokol Посмотреть сообщение
Может, у вас есть какая-то идея,
Чтобы появилась идея, нужно сначала вникнуть в github actions. Сейчас времени нету на это, уж простите.
Читайте документацию по github actions.
1
1 / 1 / 0
Регистрация: 02.10.2022
Сообщений: 82
29.06.2023, 11:41  [ТС]
КРЧ, код был рабочим, но из-за странного интерфейса гитхаба артефакт сложно было найти. На деле он располагался по такому пути Actions / Build and package / нажимаем на ссылку под workflow run и видим, что будет там артефакт
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.06.2023, 11:41
Помогаю со студенческими работами здесь

Для чего нужен driver в volumes в файле docker-compose?
volumes: postgres-data-volume: driver: local Не понимаю, для чего это нужно, когда в официальной документации этот...

Проблема загрузки данных со страницы при запуске с Docker
Имеется страница по модели MVC, которая содержит данные, которые можно загрузить с разработанного приложения на компьютер в виде файла...

GitHub не корректно отображает изменения в файле
Добрый день! Ответвился от Дева. Сделал свои изменения, закомитил, запушил в репозиторий свою ветку с фиксом. Смотрю chenges в...

Проблема с регистрацией на github
Возникла проблема с капчей (чего до этого отродясь не было) при регистрации на github'е. После 4-х раз неизменно выдает "по крайней...

Не могу создать образ Docker, подскажите как сделать. Вылазить ошибка. docker-file. Новичок в докере
Если можно обясните как строить докер файл. столько видео посмотрел ничего не понял Step 4/5 : RUN javac ShorturlApplication.java ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
Создаем Telegram бот на TypeScript с grammY
run.dev 05.04.2025
Одна из его самых сильных сторон Telegram — это интеграция ботов прямо в экосистему приложения. В отличие от многих других платформ, он предоставляет разработчикам мощный API, позволяющий создавать. . .
Паттерны распределённых транзакций в Event-Driven микросервисах
ArchitectMsa 05.04.2025
Современные программные системы всё чаще проектируются как совокупность взаимодействующих микросервисов. И хотя такой подход даёт множество преимуществ — масштабируемость, гибкость, устойчивость к. . .
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер