젠킨스에서 Docker 컨테이너를 사용하여 빌드 파이프 라인을 구성하고 있습니다. 이미지를 작성하고 싶지만 해당 이미지가 젠킨스와 동일한 서버에없는 경우에만 실행 중입니다. 나는 이것을하는 가장 간단하고 가장 우아한 방법을 쫓아 왔지만, 나는 무엇인가를 고민하고있다.젠킨스에 존재하지 않는 경우에만 도커 이미지 작성하기
답변
당신의 출력을 수행 할 수 있습니다
docker image ls
그런 다음 당신이 구축하고자하는 이미지의 이름을 grep으로.
그러나 Jenkins에서 이미지를 "빌드"하면 기존 이미지가 동일해야한다고하더라도 "새로운"이미지가 생성됩니다. 어떻게 알 수 있습니까?
도커 이미지는 템플릿입니다. 다른 호스트에서 이미지를 다시 작성하는 것처럼 들릴 수 있습니까? 그렇다면 중앙 (개인) 레지스트리를 사용하고 해당 이미지가 필요할 수있는 다양한 호스트에서 가져 오는 것이 좋습니다.
question에 대한 답변에서 설명한 것처럼 다음을 사용하여 이미지가 있는지 확인할 수 있습니다.
if [[ "$(docker images -q myimage:mytag 2> /dev/null)" == "" ]]; then
# do something
fi
고마움, 사과, 나는이 질문에 진술해야한다, 나는 창문에서 작동하는 방법이 필요합니다. – ChrisAdkin
그런데, 나는 아마도 당신이 나에게 주었던 것을 PowerShell을 사용하기 위해 채택 할 수 있습니다. – ChrisAdkin
@ChrisAdkin 예 기본적으로'docker images'의 -q 옵션은 윈도우에서 똑같이 작동해야합니다. – yamenk
- 1. 젠킨스에 도커 클라우드 추가
- 2. 존재하지 않는 경우에만 파일 만들기
- 3. 행이 존재하지 않는 경우에만 삽입
- 4. 존재하지 않는 경우에만 라이브러리 포함
- 5. 끈적 세션으로 도커 작성하기
- 6. Xcode 존재하지 않는 프로젝트 파일에서 작성하기
- 7. 존재하지 않는 경우에만 응답에 쿠키를 추가하십시오.
- 8. QFtp 존재하지 않는 경우에만 디렉토리 생성
- 9. 값이 sqlite 데이터베이스에 존재하지 않는 경우에만 삽입
- 10. MySQL 5.5.30 INSERT가 존재하지 않는 경우에만
- 11. 전구 : 이미 존재하지 않는 경우에만 꼭지점 만들기
- 12. Makefile - 파일이 존재하지 않는 경우에만 종속성 만들기
- 13. PostgreSQL 데이터베이스는 - 레코드가 존재하지 않는 경우에만 삽입
- 14. jquery를 통해 클래스를 추가하지만 존재하지 않는 경우에만
- 15. codeigniter complex는 행이 존재하지 않는 경우에만 참여합니다.
- 16. 존재하지 않는 경우에만 mysql 삽입이 작동하지 않습니다.
- 17. arraylist에 int가 이미 존재하지 않는 경우에만 추가하기
- 18. Kafka : 아직 존재하지 않는 경우에만 메시지 게시
- 19. 정확한 엔티티가 존재하지 않는 경우에만 엔티티 저장
- 20. 이미 존재하지 않는 경우에만 데이터를 데이터베이스에 삽입하십시오.
- 21. Bazel rules_docker와 함께 도커 작성하기?
- 22. 도커 이미지
- 23. MongoDB : $ addToSet/$ 문서가 아직 존재하지 않는 경우에만 푸시
- 24. 확장 프로그램이 이미 존재하지 않는 경우에만 활성화하려면 어떻게해야합니까?
- 25. Postgres groovy : 존재하지 않는 경우에만 행을 삽입하려고 시도합니다.
- 26. 아직 존재하지 않는 경우에만 하나의 테이블에서 다른 테이블로 데이터를 삽입하십시오.
- 27. 존재하지 않는 경우에만 PostgreSQL 테이블에 기본 키 추가
- 28. 물리적 리소스가 존재하지 않는 경우에만 일반 Razor 페이지로 연결
- 29. 아직 존재하지 않는 경우에만 관계에 레코드를 추가하는 방법
- 30. 존재하지 않는 경우에만 @ ManyToOne 참조 된 객체 유지하기
젠킨스 고정 플러그 인이나 직접 쉘 명령을 사용하고 있습니까? – yamenk
쉘 명령을 사용하고 있습니다 만 가장 우아한 방법을 제공한다면 플러그인을 사용하여 기쁘게 생각합니다. – ChrisAdkin
이미지가 이미있는 경우 빌드하지 않으려는 이유가 있습니까? 이미지를 만들 때마다 이미지의 내용이 변경되지 않는 한 Docker 빌드 캐시는 이미 존재하는 이미지를 다시 빌드하는 것이 거의 즉각적임을 의미합니다. –