2017년 6월 20일 화요일

[Ansible] 5초만에 YAML용 컬러 스키마 구성하기



원래는 GUI를 할려고 했는데...했는데...
하다 보니 ansible-vim이라는게 눈에 확 들어와서..


그..그런가요.;;;

그거 하다 보니 또 며칠이 가네요...하하하...

각설하고, 왜 이걸하냐면..
컨트롤 머신은 분명히 YAML을 자주 짜게 될 것이고, 물론 외부에서 좋은 많은 툴들을 가지고 짜도 되겠지만....

기왕이면 컨트롤 머신 자체에서 짜는게 아무래도 편하고 수정할 일도 자주 있으니까요.
그래서 ansible-vim도 적용하고 vim config도 바꾸고, 하는 김에 ansible, ansible-playbook도 alias해야 겠다.

라는 생각에서 시작을 했는데.....



크게 두가지의 문제 점이 있었다.

1. vim으로 호출해야 ansible-vim이 설치가 되더라..

ansible-vim을 설치가 다들 쉽다고 해서 아주 쉽게 될 줄 알고 했는데, 막상 이거 설치와 동작 부터 하지 않는 상황이....

결과적으로 보면, vi가 아닌 vim으로 호출하고 거기서 "PlugInstall"을 호출해야 하더라는...
하하;;;;; (이걸로 이틀 소비 / 내가 바보인가 생각도 함께 -_-)

2. 환경을 불러오는 것 
세션이 다르기 때문에..bashrc를 불러오는 방법을 달리해야 한다.
연구 중인데..이걸 자동화 하는게 쉽지가 않아서..일단 메뉴얼로;;;
하하하;;;; 완벽하지 않네용;


실행 파일


[ Ansible_env_ready.yml ]
자 이제 그러면 파일을 보자

[root@Ansible ~]# cat Ansible_env_ready.yml
---
- name: Ansible_vim
  hosts: localhost
  remote_user: root
  gather_facts: no

  tasks:
    - name: Install vim-enhanced 
      yum: 
        name: vim-enhanced
        state: present
    - name: Download ansible-vim
      shell: "curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
              https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
    - name: configure vimrc 
      lineinfile:
        dest: ~/.vimrc
        line: "{{ item }}"
      with_items:
        - "set autoindent" 
        - "set cindent" 
        - "set number"
        - "set smartcase"
        - "set smarttab"
        - "call plug#begin('~/.vim/plugged')" 
        - "Plug 'pearofducks/ansible-vim'"
        - "call plug#end()"
    - name: configure bashrc
      lineinfile:
        dest: ~/.bashrc
        line: "{{ item }}"
      with_items:
        - "alias vi='vim'" 
        - "alias ans='ansible'"
        - "alias anp='ansible-playbook'"
    - name: install vim-Plugin
      shell: "vim -E -c 'PlugInstall' -c 'source ~/.vimrc' -c 'qa' || true" 
      ignore_errors: yes
    - name: bash reload
      shell: "source ~/.bashrc"



역시 예상과 틀리지 않게 노가다였다.
하지만...이를 통해서 많은 사람들이 쉽게 여러번 계속 반복해서 사용할 수 있다면..그게 바로 프로그래밍(--; 저는 프로그래밍이라고 생각을...쿨럭)의 '모미모미'가 아닐까?





작업 전의 yml파일 



작업 후의 yml파일 




하하하;; 오바 좀 했습니다...고생을 많이 해서;;;하하하;;;


실행 결과 

대충...보면 vim-enhanced를 설치하고 ansible-vim을 다운로드 하고 vimrc를 구성하고 bashrc도 구성하고 vim-plugin을 설치한 다음에 (원래는 bash reload까지 자동으로...)

마지막으로 수동으로 source ~/.bashrc 또는 세션을 새로 열어주면 사용이 가능하다~!!




이거 두개는 anp와 ans 약자로 실행가능한 것 예제~ ansible과 ansible-playbook은 너무 길어요~~!






참고사항 : 


원래는 ansible-vim은 PlugInstall를 통해서 ~/.vimrc의 내용을 읽고 다음과 같이 설치됩니다.



Ansible-vim
https://github.com/pearofducks/ansible-vim

Ansible-vim에서 추천하는 'vim-plug' 플러그인 관리툴
https://github.com/junegunn/vim-plug
https://github.com/junegunn/vim-plug/wiki/tutorial


vim 옵션 메뉴얼
http://vimdoc.sourceforge.net/htmldoc/starting.html


0 개의 댓글:

댓글 쓰기

 
Copyright © . 엔지니어를 위한 파이썬 및 기술 블로그 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger