본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 생산성·자동화 · 윈도우즈 유틸

Updatecli

0

Updatecli는 선언적 업데이트 정책 엔진으로, 파일 업데이트 전략을 적용하는 도구입니다. 각 실행 시 사용자 정의 전략을 통해 값이 업데이트가 필요한지 감지하고 변경 사항을 적용합니다.

업데이트자동화정책 엔진

소개

Updatecli는 선언적 업데이트 정책 엔진으로, 파일 업데이트 전략을 적용하는 도구입니다. 각 실행 시 사용자 정의 전략을 통해 값이 업데이트가 필요한지 감지하고 변경 사항을 적용합니다. GitHub, Docker, Helm 등 다양한 소스와 타깃을 지원하며, YAML 또는 Go 템플릿으로 정책을 정의합니다. 오픈소스 프로젝트로 Apache-2.0 라이선스 하에 배포됩니다.

상세정보

소스 통합

Updatecli은 30개 이상의 내장 통합을 제공합니다. YAML, JSON, TOML, XML, HCL, CSV, Dockerfile 및 .tool-versions 파일과 같은 파일 형식에서 값을 읽을 수 있습니다. Docker 이미지 태그 및 다이제스트, Helm 차트, npm, PyPI, Maven, Cargo, Go 모듈, Terraform 공급자/모듈과 같은 패키지 레지스트리를 모니터링할 수 있습니다. GitHub, GitLab 릴리스, Git 태그 및 브랜치를 추적할 수 있습니다. Jenkins LTS/주간 출시, Eclipse Temurin(JDK), Go 언어 버전과 같은 언어 및 런타임을 확인할 수 있습니다. AWS AMI와 같은 클라우드 리소스를 확인할 수 있습니다. 쉘 스크립트 및 HTTP 엔드포인트를 통해 사용자 정의 로직을 추가할 수 있습니다.

정책 기반 업데이트 프로세스

모든 Updatecli 정책은 세 단계로 구성됩니다. 먼저 소스 단계에서 새로운 값을 가져옵니다(예: 최신 Docker 이미지 태그, 최신 Helm 차트 버전).其次, 조건 단계에서 변경 전 사전 조건을 확인합니다(선택 사항이지만 권장됨). 마지막으로 타깃 단계에서 적절한 파일 또는 서비스에 변경을 적용하고, SCM이 구성되어 있으면 풀 리퀘스트를 엽니다.

SCM 플랫폼 지원

Updatecli은 다음과 같은 SCM 플랫폼을 지원합니다: GitHub(클론, 브랜치, 커밋, 푸시, 풀 리퀘스트, 릴리스), GitLab(클론, 브랜치, 커밋, 푸시, 머지 리퀘스트, 릴리스), Gitea 및 Forgejo(클론, 브랜치, 커밋, 푸시, 풀 리퀘스트, 릴리스), Bitbucket Cloud 및 Server/Stash(클론, 브랜치, 커밋, 푸시, 풀 리퀘스트), Azure DevOps(클론, 브랜치, 커밋, 푸시, 풀 리퀘스트), 일반 Git 저장소(클론, 브랜치, 커밋, 푸시).

추가 특징

  • 선언적: YAML에서 업데이트 정책을 한 번 정의하면 Updatecli이 감지 및 적용을 처리합니다.
  • 어떤 CI/CD에서도 실행 가능: 단일 바이너리로 GitHub Actions, Jenkins, GitLab CI 또는任何 shell에 드롭인 가능.
  • 기본적으로 안전: –dry-run을 사용하여 변경 사항을 적용하기 전에 미리 볼 수 있습니다.
  • 확장 가능: 쉘 스크립트 또는 HTTP를 통해 사용자 정의 로직을 추가하거나 새로운 Go 플러그인을 기여할 수 있습니다.

다운로드·설치 방법

Updatecli은 Linux, macOS 및 Windows용 Go 바이너리로 제공됩니다. 공식 릴리스 페이지에서 다운로드하거나 다른 설치 방법을 사용할 수 있습니다. Scoop을 통해 scoop install updatecli 명령으로 설치할 수 있습니다.

기본 사용법/명령어

업데이트 전략을 updatecli.yaml 파일에 정의한 후 updatecli apply --config updatecli.yaml 명령을 실행하여 정책을 적용합니다. 예를 들어, Jenkins의 최신 안정 버전을 확인하고 해당 Docker 이미지가 존재하면 인프라의 values.yaml 파일을 자동으로 업데이트하고 GitHub 풀 리퀘스트를 열 수 있습니다.

검증 절차

릴리스 자산의 무결성을 확인하려면 다음 단계를 따릅니다. 먼저 최신 릴리스에서 checksums.txt.sig와 checksums.txt 파일을 다운로드합니다. 그런 다음 코사인을 사용하여 체크섬 파일의 서명을 검증합니다: cosign verify-blob --certificate-identity-regexp "https://github.com/updatecli/updatecli" --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' --bundle checksums.txt.sig checksums.txt. 성공 시 Verified OK 출력이 나타납니다. 그 후 sha256sum --ignore-missing -c checksums.txt 명령을 실행하여 바이너리의 무결성을 확인할 수 있습니다.

이런 경우에 유용합니다

소프트웨어 의존성을 자동으로 추적하고 업데이트해야 하는 개발자 및 DevOps 엔지니어에게 유용합니다. 예를 들어, 프로젝트가 사용하는 Docker 이미지, Helm 차트 또는 npm 패키지의 새 버전이 출시될 때 수동으로 확인하지 않고 자동으로 감지하여 인프라 구성 파일을 업데이트하고 풀 리퀘스트를 생성할 수 있습니다. 이는 지속적인 통합/배포 파이프라인에서 의존성 관리를 자동화하려는 팀에게 특히 유용합니다.

최신 버전·업데이트

현재 버전은 0.120.1이며, 최신 릴리스 정보는 GitHub 저장소의 릴리스 페이지에서 확인할 수 있습니다.

제한 사항·확인 사항

Updatecli을 사용하려면 SCM 플랫폼과의 통합을 위해 개인 액세스 토큰 또는 유사한 인증 방법이 필요할 수 있습니다. 예를 들어 GitHub와 연동하려면 저장소에 대한 적절한 권한을 가진 토큰이 필요합니다. 또한 일부 기능은 특정 소스 또는 타깃 플러그인에 의존하므로, 사용하려는 통합이 지원되는지 확인해야 합니다.

시스템 요구사항

별도의 시스템 요구사항이 등록되지 않았습니다.