Господа, подскажите пожалуйста - почему у меня проект в github actions собирается нормально, но вывода(артефакта) нет. Суть всех манипуляций следующая - Docker файл использую качестве контейнера, разворачиваю в github actions дистрибутив debian с утилитой iproute2. В контейнере выполняется команда /bin/ss -tulpn, которая получает список открытых портов - результат записывается в файл. Файл выкладывается в примонтированный к контейнеру каталог и используется, как артефакт сборки (упаковать в tar или deb). На выходе: workflow-файл, Dockerfile, успешно прошедший процесс actions, артефакт, в одном из форматов.
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
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
docker файл
FROM debian
RUN apt-get update && apt-get install -y iproute2
RUN mkdir /output
CMD /bin/ss -tulpn > /output/result.txt