여러 빌드 컨테이너간에 공유 할 마운트 된 호스트 파일 시스템에이 파일을 쓸 수 있음을 알고 있습니다. 그런데 docker-plugin과 같은 드론 플러그인 컨테이너에서이 파일을 어떻게 사용할 수 있습니까?drone.io CI 파이프 라인에서 한 빌드 컨테이너에서 다른 빌드 컨테이너로 값을 전송하는 방법
또는 빌드 단계간에 임의의 데이터를 전달하는 다른 방법이 있습니까? 어쩌면 환경 변수를 통해?
이것은 무인기입니다. 012
여러 빌드 컨테이너간에 공유 할 마운트 된 호스트 파일 시스템에이 파일을 쓸 수 있음을 알고 있습니다. 그런데 docker-plugin과 같은 드론 플러그인 컨테이너에서이 파일을 어떻게 사용할 수 있습니까?drone.io CI 파이프 라인에서 한 빌드 컨테이너에서 다른 빌드 컨테이너로 값을 전송하는 방법
또는 빌드 단계간에 임의의 데이터를 전달하는 다른 방법이 있습니까? 어쩌면 환경 변수를 통해?
이것은 무인기입니다. 012
파일 시스템을 통해 빌드 단계간에 정보를 공유하는 것만 가능합니다. 형제 유닉스 프로세스간에 환경 변수를 공유하는 명확한 방법이 없기 때문에 환경 변수는 옵션이 아닙니다.
구성 매개 변수를 받아들이는 방법을 결정하는 것은 플러그인의 책임입니다. 일반적으로 매개 변수는 yaml 구성 파일에 정의 된 환경 변수로 플러그인에 전달됩니다. 일부 플러그인, 특히 docker plugin [1]은 파일에서 매개 변수를 읽을 수 있습니다. 예를 들어, docker 플러그인은 즉시 생성 할 수있는 저장소의 루트에있는 .tags
파일에서 docker 태그를 읽습니다.
pipeline:
build:
image: golang
commands:
- go build
- echo ${DRONE_COMMIT:0:8} > .tags
publish:
image: plugins/docker
repo: octocat/hello-world
일부 플러그인은 파일에서 매개 변수를 읽을 수있는 옵션을 제공하지 않습니다. 이 기능을 포함하는 것은 플러그인 작성자의 몫입니다. 플러그인에이 기능이 없거나 플러그인 작성자가 구현할 계획이 아닌 경우, 플러그인을 포크하고 조정하여 정확한 요구 사항을 충족시킬 수 있습니다.
니스! 이것은 내가 찾고 있었던 바로 그 것이다. –