준호씨의 블로그

ansible 로 diff 떠보기 본문

개발이야기

ansible 로 diff 떠보기

준호씨 2016. 1. 21. 23:02
반응형
예전에 배포를 하기 위한 스크립트를 만들 때 4가지 기본 기능을 제공 했었다.

  • get - 리모트 서버에서 파일 가져 오기
  • diff - 리모트 파일과 로컬 파일 비교
  • backup - 리모트 파일 백업하기 (foo 라는 파일이 있으면 foo.20160121)
  • install - 로컬 파일을 리모트 서버들로 복사하기

ansible 에서는 이 모든 기능을 이미 제공 하고 있었다. 그 중 diff 를 사용 하는 방법에 대해 적어 보겠다.

설명서 페이지에도 내용이 있다.

중요 옵션은 --check --diff 이다. --check --diff 하면 배포 하지 않고 비교한 결과를 보여 준다.

다음과 같이 사용 할 수 있다.
ansible-playbook foo.yml --check --diff --limit foo.example.com


참고로 --limit 옵션은 특정 호스트에 제한한다는 의미이다.

직접 실행해 보면 다음과 같은 결과를 볼 수 있다.
$ ansible-playbook -i hosts labs.yml --ask-pass --check --diff
SSH password:

PLAY [labs] *******************************************************************

GATHERING FACTS ***************************************************************

ok: [127.0.0.1]

TASK: [copy test file] ********************************************************
--- before: /Users/junho85/test/test.txt
+++ after: /Users/junho85/ansible/test.txt
@@ -1 +1,2 @@
 hello
+world

changed: [127.0.0.1]

PLAY RECAP ********************************************************************
127.0.0.1                  : ok=2    changed=1    unreachable=0    failed=0



반응형
Comments