Новое местоположение действий докера - PullRequest
1 голос
/ 12 октября 2019

Я использовал это для докера:

- name: Build container image
  uses: actions/docker/cli@master
  with:
    ///// removed

- name: Docker Login
  uses: actions/docker/login@master
  env:
    ///// removed

Однако github.com/actions/docker, похоже, больше не существует.

Мои сборки дают 404:

Не удалось загрузить действие 'https://api.github.com/repos/actions/docker/tarball/master'. Ошибка Код состояния ответа не указывает на успех: 404 (не найден).

Кто-нибудь знает новое местоположение?

1 Ответ

2 голосов
/ 12 октября 2019

Действие actions/docker устарело. Репозиторий был заархивирован со следующим сообщением, прежде чем он был полностью удален.

Это действие не рекомендуется в пользу использования шага сценария запуска на новом языке YAML для запуска докера cli.

Поэтому рекомендуемый способ использования Docker - использовать команду сценария run. Официальный стартовый рабочий процесс показывает простой пример создания изображения. https://github.com/actions/starter-workflows/blob/master/ci/docker-image.yml

Более полные примеры публикации изображений Docker см. В следующих рабочих процессах.

Для общедоступного реестра DockerHub:

name: my workflow
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Login to DockerHub Registry
        run: echo ${{ secrets.DOCKERHUB_PASSWORD }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
      - name: Build the Docker image
        run: docker build -t myimage:latest .
      - name: Tag the Docker image
        run: docker tag myimage:latest myimage:1.0
      - name: Push the Docker image to the registry
        run: docker push myimage:1.0

Для частного реестра, такого какновый реестр пакетов GitHub, вам также необходимо указать имя хоста при входе в систему и соответствующим образом пометить изображение:

name: my workflow
on:
  push:
    branches:
      - master
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - name: Login to GitHub Package Registry
        run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login docker.pkg.github.com -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
      - name: Build the Docker image
        run: docker build -t myimage:latest .
      - name: Tag the Docker image
        run: docker tag myimage:latest docker.pkg.github.com/username/repository/myimage:1.0
      - name: Push the Docker image to the registry
        run: docker push docker.pkg.github.com/username/repository/myimage:1.0
...