Почему дрон не может найти мое имя репо с помощью плагинов / докеров? - PullRequest
0 голосов
/ 02 января 2019

Я пытаюсь создать и отправить изображение с помощью плагина / докера drone.io, но, похоже, не могу найти имя моего репо.

Вот последний журнал о шаге сборки.

---> Running in afca20280587
Removing intermediate container afca20280587
---> cb05c781a4c4
Successfully built cb05c781a4c4
Successfully tagged caa418f0605dc7a6b2bc84faebabac55a09a373b:latest
+ /usr/local/bin/docker tag caa418f0605dc7a6b2bc84faebabac55a09a373b :latest
Error parsing reference: ":latest" is not a valid   repository/tag: invalid reference format
time="2019-01-02T02:05:18Z" level=fatal msg="exit status 1"

Шестая строка должна быть

+ /usr/local/bin/docker tag caa418f0605dc7a6b2bc84faebabac55a09a373b registry.cn-beijing.aliyuncs.com/xxx/xxx_xxx:latest

Но теперь он не нашел моего имени репо.

Это дрон / дрон: 1.0.0-rc.3, а вот мой .drone.yml

kind: pipeline
name: default

steps:
- name: build
  image: python:3.6
  commands:
  - pip install -r requirements.txt
  - python -m pytest app.py
  when:
    branch: master
    event:
    - push
    - pull_request

- name: publish
  image: plugins/docker
  registry: registry.cn-beijing.aliyuncs.com
  repo: xxx/xxx_xxx
  tags: [ latest ]
  username: 
  - from_secret: ali_username
  password:
  - from_secret: ali_password

Что-то не так? Спасибо за любой совет!

1 Ответ

0 голосов
/ 02 января 2019

Когда вы определяете хранилище, вам нужно использовать полное имя изображения:

- repo: xxx/xxx_xxx
+ repo: registry.cn-beijing.aliyuncs.com/xxx/xxx_xxx

Кроме того, все настройки плагина должны быть объявлены внутри блока настроек [1] ​​следующим образом:

- name: publish
  image: plugins/docker
  settings:
    registry: registry.cn-beijing.aliyuncs.com
    repo: registry.cn-beijing.aliyuncs.com/xxx/xxx_xxx
    username: 
    - from_secret: ali_username
    password:
    - from_secret: ali_password

[1] http://plugins.drone.io/drone-plugins/drone-docker/

...