ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ืึธืก ืื™ื– ื“ืขืจ ื˜ืจืึทื ืกืงืจื™ืคึผื˜ ืคึผืขืจืคืึธืจืžืึทื ืกื™ื– ืื•ื™ืฃ DevOps-40 2020-03-18:

ืกื˜ืึทืจื˜ื™ื ื’ ืคื•ืŸ ื“ื™ ืจื’ืข ื™ื‘ืขืจื’ืขื‘ืŸ, ืงื™ื™ืŸ ืงืึธื“ ื•ื•ืขืจื˜ ืœืขื’ืึทื˜, ื•ื•ื™ื™ึทืœ ืขืจืฉื˜ ืื™ื“ืขืขืก ืึธื ื”ื™ื™ื‘ืŸ ืฆื• ื“ื™ื•ื•ืขืจื“ื–ืฉ ืคื•ืŸ ื”ืึทืจื‘ ืคืึทืงื˜. ื“ืืก ืื™ื– ื ื™ืฉื˜ ื’ื•ื˜ ืื•ืŸ ื ื™ืฉื˜ ืฉืœืขื›ื˜, ืก'ืื™ื– ื ื’ืขื’ืขื‘ืขื ืข ื•ื•ืืก ืื™ื– ืฉื•ื•ืขืจ ืฆื• ื˜ืขื ื”'ืŸ ืžื™ื˜ ืื•ืŸ ืžืขืŸ ื“ืืจืฃ ืœืขื‘ืŸ ืžื™ื˜ ืื™ื. ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืื™ื– ืจื™ืคืึทืงื˜ืขืจื™ื ื’. ืจืขืคืึทืงื˜ื•ืจื™ื ื’ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื•ื•ื™ ืงืึธื“. ื–ืืœ ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืึธื ื”ื™ื™ื‘ืŸ ืื•ื™ืฃ ื•ื•ื™ ืฆื• ืจืขืคืึทืงื˜ืึธืจ ืึทื ืกื™ื‘ืœืข ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข.

ื“ื™ ื’ืขื‘ื•ืจื˜ ืคื•ืŸ ืœืขื’ืึทื˜

ื˜ืึธื’ # 1: ืคึผืึทืฆื™ืขื ื˜ ื ื•ืœ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืืžืืœ ืื™ื– ื’ืขื•ื•ืขืŸ ื ื‘ืื“ื™ื ื’ื•ื ื’ ืคืจืื™ืขืงื˜. ืขืก ื”ืื˜ ืึท ื“ืขื•ื• ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืžืึทื ืฉืึทืคึฟื˜ ืื•ืŸ ืึธืคึผืก ืขื ื“ื–ืฉืึทื ื™ืจื–. ื–ื™ื™ ื”ืึธื‘ืŸ ืกืึทืœื•ื•ื“ ื“ื™ ื–ืขืœื‘ืข ืคึผืจืึธื‘ืœืขื: ื•ื•ื™ ืฆื• ืฆืขื•ื•ื™ืงืœืขืŸ ืกืขืจื•ื•ืขืจืก ืื•ืŸ ืœื•ื™ืคืŸ ืึท ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ. ื“ืขืจ ืคึผืจืึธื‘ืœืขื ืื™ื– ื’ืขื•ื•ืขืŸ ืึทื– ื™ืขื“ืขืจ ืžืึทื ืฉืึทืคึฟื˜ ืกืึทืœื•ื•ื“ ื“ืขื ืคึผืจืึธื‘ืœืขื ืื™ืŸ ื–ื™ื™ึทืŸ ืื™ื™ื’ืŸ ื•ื•ืขื’. ื‘ื™ื™ ื“ื™ ืคึผืจื•ื™ืขืงื˜, ืขืก ืื™ื– ื‘ืึทืฉืœืึธืกืŸ ืฆื• ื ื•ืฆืŸ Ansible ืฆื• ืกื™ื ื’ืงืจืึทื ื™ื™ื– ื•ื•ื™ืกืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ื“ืขื•ื• ืื•ืŸ ืึธืคึผืก ื˜ื™ืžื–.

ื˜ืึธื’ #89: ื“ืขืจ ื’ืขื‘ื•ืจื˜ ืคื•ืŸ ืœืขื’ืึทื˜

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืืŸ ืขืก ืืœื™ื™ืŸ ื‘ืืžืขืจืงืŸ, ื”ืื‘ืŸ ื–ื™ื™ ื“ืืก ื’ืขื•ื•ืืœื˜ ื˜ืืŸ ื•ื•ื™ ื‘ืขืกื˜ืข ื•ื•ื™ ืžืขื’ืœื™ืš, ืื‘ืขืจ ืขืก ื”ืื˜ ื–ื™ืš ืืจื•ื™ืกื’ืขืฉื˜ืขืœื˜ ื•ื•ื™ ื™ืจื•ืฉื”. ื•ื•ื™ ืึทื–ื•ื™ ื˜ื•ื˜ ื“ืึธืก ืคึผืึทืกื™ืจืŸ?

  • ืžื™ืจ ื”ืึธื‘ืŸ ื“ืึธ ืึท ื“ืจื™ื ื’ืœืขืš ืึทืจื‘ืขื˜, ืœืึธื–ืŸ ืื•ื ื“ื– ื˜ืึธืŸ ืึท ืฉืžื•ืฆื™ืง ื›ืึทืง ืื•ืŸ ื“ืขืžืึธืœื˜ ืคืึทืจืจื™ื›ื˜ืŸ ืขืก.
  • ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื”ืึธื‘ืŸ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืŸ ืึทืœืฅ ืื™ื– ืงืœืึธืจ ื•ื•ืึธืก ืื™ื– ื’ืขืฉืขืขื ื™ืฉ ื“ืึธ.
  • ืื™ืš ื•ื•ื™ืกืŸ Ansible / Python / Bash / Terraform! ืงื•ืง ื•ื•ื™ ืื™ืš ืงืขื ืขืŸ ื•ื™ืกืžื™ื™ื“ืŸ!
  • ืื™ืš ื‘ื™ืŸ ืึท ื’ืึทื ืฅ ืกื˜ืึทืง ืึธื•ื•ืขืจืคืœืึธื•ื• ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืื•ืŸ ืงืึทืคึผื™ื“ ื“ืขื ืคึฟื•ืŸ ืกื˜ืึทืงืงืึธื•ื•ืขืจืคืœืึธื•ื•, ืื™ืš ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ืกืŸ ื•ื•ื™ ืขืก ืึทืจื‘ืขื˜, ืึธื‘ืขืจ ืขืก ืงื•ืงื˜ ืงื™ืœ ืื•ืŸ ืกืึทืœื•ื•ื– ื“ื™ ืคึผืจืึธื‘ืœืขื.

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืงื•ืžืขืŸ ืึท ื™ื ื’ืงืึทืžืคึผืจืึทื›ืขื ืกื™ื‘ืึทืœ ื˜ื™ืคึผ ืคื•ืŸ ืงืึธื“ ืคึฟืึทืจ ื•ื•ืึธืก ืขืก ืื™ื– ืงื™ื™ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ืขืก ืื™ื– ื ื™ืฉื˜ ืงืœืึธืจ ื•ื•ืึธืก ืขืก ื˜ื•ื˜, ืฆื™ ืขืก ืื™ื– ื“ืืจืฃ, ืึธื‘ืขืจ ื“ื™ ืคึผืจืึธื‘ืœืขื ืื™ื– ืึทื– ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ืขืก, ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ืขืก, ืœื™ื™ื’ืŸ ืงืจืึทื˜ืฉื™ื– ืื•ืŸ ืฉื˜ื™ืฆืŸ. , ืžืื›ืŸ ื“ื™ ืžืฆื‘ ื ืืš ืขืจื’ืขืจ.

- hosts: localhost
  tasks:
    - shell: echo -n Z >> a.txt && cat a.txt
      register: output
      delay: 1
      retries: 5
      until: not output.stdout.find("ZZZ")

ื˜ืึธื’ #109: ื•ื•ื™ืกื™ืงื™ื™ึทื˜ ืคื•ืŸ ื“ืขื ืคึผืจืึธื‘ืœืขื

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ื™ ื˜ื›ื™ืœืขืก ืงืึทื ืกื™ื•ื•ื“ ืื•ืŸ ื™ืžืคึผืœืึทืžืขื ืึทื“ ื™ืึทืง ืžืึธื“ืขืœ ื ื™ื˜ ืžืขืจ ื˜ืจืขืคืŸ ื“ื™ ื‘ืื“ืขืจืคืขื ื™ืฉืŸ ืคื•ืŸ ื ื™ืฆืขืจืก / ื’ืขืฉืขืคื˜ / ืื ื“ืขืจืข ื˜ื™ืžื–, ืื•ืŸ ื“ื™ ืฆื™ื™ื˜ ืฆื• ืžืึทื›ืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืกื™ืกื™ื– ืฆื• ื–ื™ื™ืŸ ืคึผืึทืกื™ืง. ืื™ืŸ ื“ืขื ืžืึธืžืขื ื˜, ื“ื™ ืคืืจืฉื˜ืื ื“ ืงื•ืžื˜ ืึทื– ืขืก ืื™ื– ืฆื™ื™ึทื˜ ืฆื• ื ืขืžืขืŸ ืงืึทืžืฃ.

IaC ืจืขืคืึทืงื˜ื•ืจื™ื ื’

ื˜ืึธื’ #139: ืฆื™ ืื™ืจ ื˜ืึทืงืข ื“ืึทืจืคึฟืŸ ืจืขืคืึทืงื˜ืึธืจื™ื ื’?

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืื™ื™ื“ืขืจ ืื™ืจ ืงืึทืžื™ืฉ ืฆื• ืจืขืคืึทืงื˜ืึธืจ, ืื™ืจ ืžื•ื–ืŸ ืขื ื˜ืคึฟืขืจืŸ ืึท ื ื•ืžืขืจ ืคื•ืŸ ื•ื•ื™ื›ื˜ื™ืง ืคึฟืจืื’ืŸ:

  1. ืคืืจื•ื•ืืก ื˜ืึธืŸ ืื™ืจ ื“ืึทืจืคึฟืŸ ืึทืœืข ื“ืขื?
  2. ืฆื™ ืื™ืจ ื”ืึธื‘ืŸ ืฆื™ื™ึทื˜?
  3. ืื™ื– ื•ื•ื™ืกืŸ ื’ืขื ื•ื’?

ืื•ื™ื‘ ืื™ืจ ื˜ืึธืŸ ื ื™ื˜ ื•ื•ื™ืกืŸ ื•ื•ื™ ืฆื• ืขื ื˜ืคึฟืขืจืŸ ื“ื™ ืคึฟืจืื’ืŸ, ื“ื™ ืจืขืคืึทืงื˜ืึธืจื™ื ื’ ื•ื•ืขื˜ ืกื•ืฃ ืื™ื™ื“ืขืจ ืขืก ื”ื™ื™ื‘ื˜ ื–ื™ืš, ืึธื“ืขืจ ืขืก ืงืขืŸ ื ืึธืจ ื•ื•ืขืจืŸ ืขืจื’ืขืจ. ื•ื•ื™ื™ึทืœ ื”ืื˜ ื“ืขืจืคืึทืจื•ื ื’ ( ื•ื•ืึธืก ืื™ืš ื’ืขืœืขืจื ื˜ ืคื•ืŸ ื˜ืขืกื˜ื™ื ื’ 200 ืฉื•ืจื•ืช ืคื•ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืงืึธื“), ื“ืขืžืึธืœื˜ ื“ืขืจ ืคึผืจื•ื™ืขืงื˜ ื‘ืืงื•ืžืขืŸ ืึท ื‘ืงืฉื” ืคึฟืึทืจ ื”ื™ืœืฃ ืฆื• ืคืึทืจืจื™ื›ื˜ืŸ ื“ื™ ืจืึธืœืขืก ืื•ืŸ ื“ืขืงืŸ ื–ื™ื™ ืžื™ื˜ ื˜ืขืกืฅ.

ื˜ืึธื’ #149: ืคึผืจื™ืคึผืขืจื™ื ื’ ื“ื™ ืจืขืคืึทืงื˜ืึธืจื™ื ื’

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ืขืจ ืขืจืฉื˜ืขืจ ื–ืึทืš ืื™ื– ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ. ื‘ืึทืฉืœื™ืกืŸ ื•ื•ืึธืก ืžื™ืจ ื•ื•ืขืœืŸ ื˜ืึธืŸ. ืฆื• ื˜ืึธืŸ ื“ืึธืก, ืžื™ืจ ื™ื‘ืขืจื’ืขื‘ืŸ, ื’ืขืคึฟื™ื ืขืŸ ืคึผืจืึธื‘ืœืขื ื’ืขื‘ื™ื˜ืŸ ืื•ืŸ ื’ืขืคึฟื™ื ืขืŸ ื•ื•ืขื’ืŸ ืฆื• ืกืึธืœื•ื•ืข ื–ื™ื™. ืžื™ืจ ืจืขืงืึธืจื“ื™ืจืŸ ื“ื™ ืจื™ื–ืึทืœื˜ื™ื ื’ ืงืึทื ืกืขืคึผืก ืขืคืขืก, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ ืึทืŸ ืึทืจื˜ื™ืงืœ ืื™ืŸ ืงืึทื ืคืœื•ืึทื ืก, ืึทื–ื•ื™ ืึทื– ื•ื•ืขืŸ ื“ื™ ืงืฉื™ื ืขืจื™ื™ื–ืึทื– "ื•ื•ืึธืก ืื™ื– ื‘ืขืกื˜ืขืจ?" ืึธื“ืขืจ "ื•ื•ืึธืก ืื™ื– ืจื™ื›ื˜ื™ืง?" ืžื™ืจ ื”ืึธื‘ืŸ ื ื™ื˜ ืคืึทืจืคืึทืœืŸ ืื•ื ื“ื–ืขืจ ื•ื•ืขื’. ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืžื™ืจ ืกื˜ืึทืง ืฆื• ื“ืขื ื’ืขื“ืึทื ืง ืฆืขื˜ื™ื™ืœืŸ ืื•ืŸ ื”ืขืจืฉืŸ: ืžื™ืจ ืฆืขื‘ืจืขื›ืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื™ืŸ ืงืœื™ื™ืŸ ื‘ืจืขืงืœืขืš / ื‘ืจื™ืงืก. ื“ืขืจ ืฆื•ื’ืึทื ื’ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ืขืžืขืŸ ืึทืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืฉื˜ื™ืง ืคื•ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืึธืก ืขืก ื˜ื•ื˜, ื“ืขืงืŸ ืขืก ืžื™ื˜ ื˜ืขืกืฅ ืื•ืŸ ื˜ื•ื™ืฉืŸ ืขืก ืึธืŸ ืžื•ืจื ืฆื• ื‘ืจืขื›ืŸ ืขืคึผืขืก.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืขืก ื˜ื•ืจื ืก ืื•ื™ืก ืึทื– ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื˜ืขืกื˜ื™ื ื’ ื•ื•ืขืจื˜ ื“ืขืจ ืงืึธืจื ืขืจืกื˜ืึธื•ืŸ ืื•ืŸ ื“ืึธ ืขืก ืื™ื– ื•ื•ืขืจื˜ ื“ืขืจืžืึธื ืขืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื˜ืขืกื˜ื™ื ื’ ืคึผื™ืจืึทืžื™ื“. ืคึผื•ื ืงื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ื’ืขื“ืึทื ืง ื•ื•ืึธืก ืื™ื– ืื™ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ืึธื‘ืขืจ ืคึฟืึทืจ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ: ืžื™ืจ ืžืึทืš ืคื•ืŸ ื‘ื™ืœื™ืง ืฉื ืขืœ ื˜ืขืกืฅ ื•ื•ืึธืก ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืคึผืฉื•ื˜ ื–ืื›ืŸ, ืึทื–ืึท ื•ื•ื™ ื™ื ื“ืขื ื˜ื™ื™ืฉืึทืŸ, ืฆื• ื˜ื™ื™ึทืขืจ ืคื•ืœ-ืคืœืขื“ื–ืฉื“ ื˜ืขืกืฅ ื•ื•ืึธืก ืฆืขื•ื•ื™ืงืœืขืŸ ื“ื™ ื’ืื ืฆืข ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ.

ืึทื ืกื™ื‘ืœืข ื˜ืขืกื˜ื™ื ื’ ืคืจื•ื•ื•ืŸ

ืื™ื™ื“ืขืจ ืžื™ืจ ื’ื™ื™ืŸ ืฆื• ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ื•ื•ื™ ืžื™ืจ ืงืึทื•ื•ืขืจื“ Ansible ื˜ืขืกืฅ ืื•ื™ืฃ ื“ื™ ืคึผืจื•ื™ืขืงื˜, ืื™ืš ื•ื•ืขืœ ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ื“ื™ ืคืจื•ื•ื•ืŸ ืื•ืŸ ืึทืคึผืจืึธื•ื˜ืฉื™ื– ื•ื•ืึธืก ืื™ืš ื’ืขื”ืื˜ ื“ื™ ื’ืขืœืขื’ื ื”ื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ืคืจื™ืขืจ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ื“ื™ ื“ื™ืกื™ื–ืฉืึทื ื– ื’ืขืžืื›ื˜.

ื˜ืึธื’ ื ื•ืž -997: SDS ื˜ื ื™ื™ึท

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ืขืจ ืขืจืฉื˜ืขืจ ืžืึธืœ ืื™ืš ื˜ืขืกื˜ืขื“ Ansible ืื™ื– ื’ืขื•ื•ืขืŸ ืื•ื™ืฃ ืึท ืคึผืจื•ื™ืขืงื˜ ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ SDS (Software Defined Storage). ืขืก ืื™ื– ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืึทืจื˜ื™ืงืœ ืื•ื™ืฃ ื“ืขื ื˜ืขืžืข
ื•ื•ื™ ืฆื• ื‘ืจืขื›ืŸ ื‘ื™ื™ืกื™ืงืึทืœื– ืื™ื‘ืขืจ ืงืจืึทื˜ืฉื™ื– ื•ื•ืขืŸ ื˜ืขืกื˜ื™ื ื’ ื“ื™ื™ืŸ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’, ืึธื‘ืขืจ ืื™ืŸ ืงื•ืจืฅ, ืžื™ืจ ืขื ื“ื™ืงื˜ ื–ื™ืš ืžื™ื˜ ืึท ื™ื ื•ื•ืขืจื˜ื™ื“ ื˜ืขืกื˜ื™ื ื’ ืคึผื™ืจืึทืžื™ื“ ืื•ืŸ ื˜ืขืกื˜ื™ื ื’ ืžื™ืจ ืคืืจื‘ืจืื›ื˜ 60-90 ืžื™ื ื•ื˜ ืื•ื™ืฃ ืื™ื™ืŸ ืจืึธืœืข, ื•ื•ืึธืก ืื™ื– ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜. ื“ืขืจ ื™ืกื•ื“ ืื™ื– ื’ืขื•ื•ืขืŸ ืข2ืข ื˜ืขืกืฅ, ื“.ื”. ืžื™ืจ ื”ืึธื‘ืŸ ื“ื™ืคึผืœื•ื™ื“ ืึท ืคื•ืœ-ืคืœืขื“ื–ืฉื“ ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืื•ืŸ ื“ืขืžืึธืœื˜ ื˜ืขืกื˜ืขื“ ืขืก. ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ืืคื™ืœื• ืžืขืจ ืึทื’ืจืึทื•ื•ื™ื™ื˜ื™ื ื’ ืื™ื– ื“ื™ ื“ืขืจืคื™ื ื“ื•ื ื’ ืคื•ืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืŸ ื•ื•ืขืœืึธืกื™ืคึผืขื“. ืึธื‘ืขืจ ืื™ืš ืžื•ื–ืŸ ืึทืจื™ื™ึทื ืœืึธื–ืŸ, ื“ื™ ืœื™ื™ื–ื•ื ื’ ื’ืขืืจื‘ืขื˜ ืื•ืŸ ืขืจืœื•ื™ื‘ื˜ ืคึฟืึทืจ ืึท ืกื˜ืึทื‘ื™ืœ ืžืขืœื“ื•ื ื’.

ื˜ืึธื’ # -701: ืึทื ืกื™ื‘ืœืข ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ืงื™ืš

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ ื“ื™ ืึทื ืกื™ื‘ืœืข ื˜ืขืกื˜ื™ื ื’ ื’ืขื“ืึทื ืง ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคืึทืจื˜ื™ืง ืžื›ืฉื™ืจื™ื, ื ื™ื™ืžืœื™ ืคึผืจื•ื‘ื™ืจืŸ ืงื™ืš / ืงื™ืš-ืกื™ ืื•ืŸ ื™ื ืกืคึผืขืง. ื“ื™ ื‘ืจื™ืจื” ืื™ื– ื‘ืืฉืœืืกืŸ ื“ื•ืจืš ื•ื•ื™ืกืŸ ืคื•ืŸ ืจื•ื‘ื™ (ืคึฟืึทืจ ืžืขืจ ื“ืขื˜ืึทื™ืœืก, ื–ืขืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืื•ื™ืฃ Habrรฉ: ืฆื™ YML ืคึผืจืึธื•ื’ืจืึทืžืขืจื– ื—ืœื•ื ืคื•ืŸ ื˜ืขืกื˜ื™ื ื’ Ansible?) ื’ืขืืจื‘ืขื˜ ืคืึทืกื˜ืขืจ, ื•ื•ืขื’ืŸ 40 ืžื™ื ื•ื˜ ืคึฟืึทืจ 10 ืจืึธืœืขืก. ืžื™ืจ ื‘ืืฉืืคืŸ ืึท ืคึผืึทืง ืคื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ืื•ืŸ ืœื•ื™ืคืŸ ื˜ืขืกืฅ ื™ืŸ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ื“ื™ ืœื™ื™ื–ื•ื ื’ ื’ืขืืจื‘ืขื˜, ืึธื‘ืขืจ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืขื˜ืœืขื›ืข ืึธืคึผื–ืึทืฅ ืจืขื›ื˜ ืฆื• ื”ืขื˜ืขืจืึธื’ืขื ืขื™ื˜ื™. ื•ื•ืขืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืžืขื ื˜ืฉืŸ ื˜ืขืกื˜ืขื“ ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืฆื• 13 ื™ืงืขืจื“ื™ืง ืจืึธืœืขืก ืื•ืŸ 2 ืžืขื˜ืึท ืจืึธืœืขืก ืงืึทืžื‘ื™ื™ื ื™ื ื’ ืงืœืขื ืขืจืขืจ ืจืึธืœืขืก, ืคึผืœื•ืฆืœื™ื ื’ ื“ื™ ื˜ืขืกืฅ ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ืœื•ื™ืคืŸ ืคึฟืึทืจ 70 ืžื™ื ื•ื˜, ื•ื•ืึธืก ืื™ื– ื›ึผืžืขื˜ 2 ืžืืœ ืžืขืจ. ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืฉื•ื•ืขืจ ืฆื• ืจืขื“ืŸ ื•ื•ืขื’ืŸ XP (ืขืงืกื˜ืจืขื ืคึผืจืึธื’ืจืึทืžืžื™ื ื’) ืคึผืจืึทืงื˜ื™ืกื™ื– ื•ื•ื™ื™ึทืœ ... ืงื™ื™ื ืขืจ ื•ื•ื™ืœ ื ื™ืฉื˜ ื•ื•ืึทืจื˜ืŸ 70 ืžื™ื ื•ื˜. ื“ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื˜ืฉืึทื ื’ื™ื ื’ ื“ืขื ืฆื•ื’ืึทื ื’

ื˜ืึธื’ # -601: ืึทื ืกื™ื‘ืœืข ืื•ืŸ ืžืึทืœืึทืงื™ื•ืœ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืงืึทื ืกืขืคึผื˜ืฉื•ืึทืœื™, ื“ืึธืก ืื™ื– ืขื ืœืขืš ืฆื• ื˜ืขืกื˜ืงื™ื˜ืฉืขืŸ, ื ืึธืจ ืžื™ืจ ืืจื™ื‘ืขืจื’ืขืคืืจืŸ ืจืึธืœืข ื˜ืขืกื˜ื™ื ื’ ืฆื• ื“ืึธืงืงืขืจ ืื•ืŸ ื’ืขื‘ื™ื˜ืŸ ื“ืขื ืึธื ืœื™ื™ื’ืŸ. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ื“ื™ ืฆื™ื™ื˜ ืื™ื– ืจื™ื“ื•ืกื˜ ืฆื• ืึท ืกื˜ืึทื‘ื™ืœ 20-25 ืžื™ื ื•ื˜ ืคึฟืึทืจ 7 ืจืึธืœืขืก.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ื•ืจืš ื™ื ืงืจื™ืกื™ื ื’ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ื˜ืขืกื˜ืขื“ ืจืึธืœืขืก ืฆื• 17 ืื•ืŸ ืœื™ื ื“ื™ื ื’ 45 ืจืึธืœืขืก, ืžื™ืจ ืœื•ื™ืคืŸ ื“ืขื ืื™ืŸ 28 ืžื™ื ื•ื˜ ืื•ื™ืฃ 2 ื“ื–ืฉืขื ืงื™ื ืก ืกืœืึทื•ื•ืขืก.

ื˜ืึธื’ #167: ืึทื“ื™ื ื’ ืึทื ืกื™ื‘ืœืข ื˜ืขืกืฅ ืฆื• ื“ื™ ืคึผืจื•ื™ืขืงื˜

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืจื•ื‘ึฟ ืžืกืชึผืžื, ืขืก ื•ื•ืขื˜ ื ื™ื˜ ื–ื™ื™ืŸ ืžืขื’ืœืขืš ืฆื• ื˜ืึธืŸ ื“ื™ ืจืขืคืึทืงื˜ืึธืจื™ื ื’ ืึทืจื‘ืขื˜ ืื™ืŸ ืึท ื™ื™ึทืœืŸ. ื“ื™ ืึทืจื‘ืขื˜ ืžื•ื–ืŸ ื–ื™ื™ืŸ ืžืขื–ืฉืขืจืึทื‘ืึทืœ ืึทื–ื•ื™ ืึทื– ืื™ืจ ืงืขื ืขืŸ ื‘ืจืขื›ืŸ ืขืก ืื™ืŸ ืงืœื™ื™ืŸ ื‘ืจืขืงืœืขืš ืื•ืŸ ืขืกืŸ ื“ืขื ื”ืขืœืคืึทื ื“ ืฉื˜ื™ืง ืคึฟืึทืจ ืฉื˜ื™ืง ืžื™ื˜ ืึท ืœืขืคืขืœืข. ืขืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืึท ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ืฆื™ ืื™ืจ ืžืึทืš ืื™ืŸ ื“ื™ ืจืขื›ื˜ ืจื™ื›ื˜ื•ื ื’, ื•ื•ื™ ืœืึทื ื’ ืฆื• ื’ื™ื™ืŸ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืื™ืŸ ืึทืœื’ืขืžื™ื™ืŸ, ืขืก ื˜ื•ื˜ ื ื™ืฉื˜ ืขื ื™ืŸ ื•ื•ื™ ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ, ืื™ืจ ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ืื•ื™ืฃ ืึท ืฉื˜ื™ืง ืคื•ืŸ ืคึผืึทืคึผื™ืจ, ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ื’ืŸ ืกื˜ื™ืงืขืจื– ืื•ื™ืฃ ื“ื™ ืฉืึทืคืข, ืื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ื˜ืึทืกืงืก ืื™ืŸ ื“ื–ืฉื™ืจืึท, ืึธื“ืขืจ ืื™ืจ ืงืขื ืขืŸ ืขืคืขื ืขืŸ Google ื“ืึธืงืก ืื•ืŸ ืฉืจื™ื™ึทื‘ืŸ ื“ื™ ืงืจืึทื ื˜ ืกื˜ืึทื˜ื•ืก ื“ืึธืจื˜ืŸ. ื“ื™ ืœืขื’ืก ื•ื•ืึทืงืกืŸ ืคื•ืŸ ื“ื™ ืคืึทืงื˜ ืึทื– ื“ืขืจ ืคึผืจืึธืฆืขืก ืื™ื– ื ื™ืฉื˜ ื‘ืึทืœื“ื™ืง, ืขืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ืœืึทื ื’ ืื•ืŸ ื˜ื™ื“ื™ืึทืก. ืขืก ืื™ื– ืึทื ืœื™ื™ืงืœื™ ืึทื– ื•ื•ืขืจ ืขืก ื™ื– ื•ื•ื™ืœ ืื™ืจ ืฆื• ื‘ืจืขื ืขืŸ ืื•ื™ืก ืคื•ืŸ ื’ืขื“ืื ืงืขืŸ, ื‘ืึทืงื•ืžืขืŸ ืžื™ื“ ืื•ืŸ ื•ื•ืขืจืŸ ืึธื•ื•ื•ืขืจื›ื•ื•ืขืœืžื“ ื‘ืขืฉืึทืก ืจื™ืคืึทืงื˜ืขืจื™ื ื’.

ื“ื™ ืจืขืคืึทืงื˜ื•ืจื™ื ื’ ืื™ื– ืคึผืฉื•ื˜:

  • ืขืกืŸ.
  • ืฉืœืึธืคืŸ.
  • ืงืึธื“ืขืงืก.
  • ื™ืึทืง ืคึผืจื•ื‘ื™ืจืŸ.
  • ื™ื‘ืขืจื›ืึทื–ืขืจืŸ

ืื•ืŸ ืžื™ืจ ืื™ื‘ืขืจื—ื–ืจืŸ ื“ืึธืก ื‘ื™ื– ืžื™ืจ ื“ืขืจื’ืจื™ื™ื›ืŸ ื“ืขื ื‘ื“ืขื” ืฆื™ืœ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืขืก ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืžืขื’ืœืขืš ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทืœืฅ ืจืขื›ื˜ ืึทื•ื•ืขืง, ืึทื–ื•ื™ ืื•ื ื“ื–ืขืจ ืขืจืฉื˜ืขืจ ืึทืจื‘ืขื˜ ืื™ื– ื’ืขื•ื•ืขืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื˜ ืœื™ื ื˜ื™ื ื’ ืื•ืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืกื™ื ื˜ืึทืงืก.

ื˜ืึธื’ #181: ื’ืจื™ืŸ ื‘ื•ื™ืขืŸ ื”ืืจ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืœื™ื ื˜ื™ื ื’ ืื™ื– ืึท ืงืœื™ื™ืŸ ืขืจืฉื˜ืขืจ ืฉืจื™ื˜ ืฆื• ื’ืจื™ืŸ ื‘ื•ื™ืขืŸ ื”ืืจ. ื“ืึธืก ื•ื•ืขื˜ ื ื™ืฉื˜ ื‘ืจืขื›ืŸ ื›ึผืžืขื˜ ืขืคึผืขืก, ืึธื‘ืขืจ ืขืก ื•ื•ืขื˜ ืœืึธื–ืŸ ืื™ืจ ืฆื• ื“ืขื‘ื•ื’ ืคึผืจืึทืกืขืกืึทื– ืื•ืŸ ืžืึทื›ืŸ ื’ืจื™ืŸ ื‘ื•ื™ืขืŸ ืื™ืŸ Jenkins. ื“ืขืจ ื’ืขื“ืึทื ืง ืื™ื– ืฆื• ืึทื ื˜ื•ื•ื™ืงืœืขืŸ ื’ืขื•ื•ื•ื™ื ื”ื™ื™ื˜ืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืžืึทื ืฉืึทืคึฟื˜:

  • ืจื•ื™ื˜ ื˜ืขืกืฅ ื–ืขื ืขืŸ ืฉืœืขื›ื˜.
  • ืื™ืš ื’ืขืงื•ืžืขืŸ ืขืคึผืขืก ืคืึทืจืจื™ื›ื˜ืŸ ืื•ืŸ ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ึทื˜ ืžืึทื›ืŸ ื“ื™ ืงืึธื“ ืึท ื‘ื™ืกืœ ื‘ืขืกืขืจ ื•ื•ื™ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืื™ื™ื“ืขืจ ืื™ืจ.

ื˜ืึธื’ #193: ืคึฟื•ืŸ ืœื™ื ื˜ื™ื ื’ ืฆื• ืึทืคึผืึทืจืึทื˜ ื˜ืขืกืฅ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื•ื•ืขืŸ ืื™ืจ ื”ืึธื˜ ื’ืขื‘ื•ื™ื˜ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืงืึธื“ ืื™ืŸ ื“ื™ ื‘ืขืœ, ืื™ืจ ืงืขื ืขืŸ ืึธื ื”ื™ื™ื‘ืŸ ื“ืขื ืคึผืจืึธืฆืขืก ืคื•ืŸ ืฉืจื™ื˜-ื“ื•ืจืš-ืฉืจื™ื˜ ืคึฟืึทืจื‘ืขืกืขืจื•ื ื’ - ืจื™ืคึผืœื™ื™ืกื™ื ื’ ืœื™ื ื˜ื™ื ื’ ืžื™ื˜ ืœืึธื ื˜ืฉื™ื ื’ ืจืึธืœืขืก, ืื™ืจ ืงืขื ืขืŸ ืืคื™ืœื• ื˜ืึธืŸ ื“ืึธืก ืึธืŸ ื™ื“ืขืžืึธื˜ืขื ืกื™. ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ื™ ืฆื• ืฆื•ืœื™ื™ื’ืŸ ืจืึธืœืขืก ืื•ืŸ ื•ื•ื™ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ.

ื˜ืึธื’ #211: ืคึฟื•ืŸ ืึทืคึผืึทืจืึทื˜ ืฆื• ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื˜ืขืกืฅ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื•ื•ืขืŸ ืจื•ื‘ึฟ ืจืึธืœืขืก ื–ืขื ืขืŸ ื‘ืื“ืขืงื˜ ืžื™ื˜ ืึทืคึผืึทืจืึทื˜ ื˜ืขืกืฅ ืื•ืŸ ืึทืœืฅ ืื™ื– ืœื™ื ื˜ืขื“, ืื™ืจ ืงืขื ืขืŸ ืคืึธืจื–ืขืฆืŸ ืฆื• ืœื™ื™ื’ืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื˜ืขืกืฅ. ื™ืขื ืข. ื˜ืขืกื˜ื™ื ื’ ื ื™ืฉื˜ ืึท ืื™ื™ืŸ ืฆื™ื’ืœ ืื™ืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ืึธื‘ืขืจ ืึท ืงืึธืžื‘ื™ื ืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื–ื™ื™, ืœืžืฉืœ, ืึท ืคื•ืœ ื‘ื™ื™ึทืฉืคึผื™ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืžื™ื˜ ื“ื–ืฉืขื ืงื™ื ืก, ืžื™ืจ ื“ื–ืฉืขื ืขืจื™ื™ื˜ืึทื“ ืคื™ืœืข ืกื˜ืึทื’ืขืก ื•ื•ืึธืก ืœื™ื ื˜ืขื“ ืจืึธืœืขืก / ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ืื™ืŸ ืคึผืึทืจืึทืœืขืœ, ื“ืขืจื ืึธืš ืึทืคึผืึทืจืึทื˜ ื˜ืขืกืฅ ืื™ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ืœืขืกืึธืฃ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื˜ืขืกืฅ.

Jenkins + Docker + Ansible = ื˜ืขืกืฅ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

  1. ื•ื™ืกืฉืจื™ื™ึทื‘ืŸ ืจืขืคึผืึธ ืื•ืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ื‘ื•ื™ืขืŸ ืกื˜ืึทื’ืขืก.
  2. ืœื•ื™ืคืŸ ืœื™ื ื˜ ืคึผืœื™ื™ึทื‘ืึธืึธืง ืกื˜ืึทื’ืขืก ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.
  3. ืœื•ื™ืคืŸ ืœื™ื ื˜ ืจืึธืœืข ืกื˜ืึทื’ืขืก ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.
  4. ืœื•ื™ืคืŸ ืกื™ื ื˜ืึทืงืก ืงืึธื ื˜ืจืึธืœ ืจืึธืœืข ืกื˜ืึทื’ืขืก ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.
  5. ืœื•ื™ืคืŸ ืคึผืจื•ื‘ื™ืจืŸ ืจืึธืœืข ืกื˜ืึทื’ืขืก ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.
    1. ืœื™ื ื˜ ืจืึธืœืข.
    2. ืงื•ืง ืึธืคืขื ื’ื™ืงื™ื™ึทื˜ ืื•ื™ืฃ ืื ื“ืขืจืข ืจืึธืœืขืก.
    3. ืงื•ืง ืกื™ื ื˜ืึทืงืก.
    4. ืฉืึทืคึฟืŸ ืึท ื“ืึธืงืงืขืจ ื‘ื™ื™ึทืฉืคึผื™ืœ
    5. ืœื•ื™ืคืŸ molecule/default/playbook.yml.
    6. ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืื™ื“ืขืคึผืึธื˜ืขื ืกื™.
  6. ืœื•ื™ืคืŸ ื™ื ื˜ืึทื’ืจื™ื™ืฉืึทืŸ ื˜ืขืกืฅ
  7. ืขื ื“ื™ืงืŸ

ื˜ืึธื’ #271: ื•ื™ื˜ืึธื‘ื•ืก ืคืึทืงื˜ืึธืจ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืื™ืŸ ืขืจืฉื˜ืขืจ, ืจื™ืคืึทืงื˜ืขืจื™ื ื’ ืื™ื– ื“ื•ืจื›ื’ืขืงืึธื›ื˜ ื“ื•ืจืš ืึท ืงืœื™ื™ืŸ ื’ืจื•ืคึผืข ืคื•ืŸ โ€‹โ€‹ืฆื•ื•ื™ื™ ืึธื“ืขืจ ื“ืจื™ื™ึท ืžืขื ื˜ืฉืŸ. ื–ื™ื™ ืจื™ื•ื•ื™ื•ื“ ื“ื™ ืงืึธื“ ืื™ืŸ ื“ื™ ื‘ืขืœ. ืื™ื‘ืขืจ ืฆื™ื™ึทื˜, ื“ื™ ืžืึทื ืฉืึทืคึฟื˜ ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื•ื•ื™ืกืŸ ืคื•ืŸ ื•ื•ื™ ืฆื• ืฉืจื™ื™ึทื‘ืŸ ืงืึธื“ ืื•ืŸ ืงืึธื“ ืจืขืฆืขื ื–ื™ืข ืงืึทื ื˜ืจื™ื‘ื™ื•ื˜ื™ื“ ืฆื• ื“ื™ ื“ื™ืกืขืžืึทื ื™ื™ืฉืึทืŸ ืคื•ืŸ ื•ื•ื™ืกืŸ ื•ื•ืขื’ืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื•ืŸ ื•ื•ื™ ืขืก ืึทืจื‘ืขื˜. ื“ืขืจ ื”ื•ื™ื›ืคึผื•ื ืงื˜ ื“ืึธ ืื™ื– ื’ืขื•ื•ืขืŸ ืึทื– ื“ื™ ืจืขืฆืขื ื–ื™ืขืก ื–ืขื ืขืŸ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ื’ืขื•ื•ืึธืจืŸ ืื™ื™ื ืก ื‘ื™ื™ ืื™ื™ื ืก, ืœื•ื™ื˜ ืึท ืคึผืœืึทืŸ, ื“.ื”. ืžื™ื˜ ืขื˜ืœืขื›ืข ืžืึทืฉืžืึธืขืก ืื™ืจ ื•ื•ืขื˜ ืงืจื™ื›ืŸ ืื™ืŸ ืึท ื ื™ื™ึท ืฉื˜ื™ืง ืคื•ืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืื•ืŸ ืขืก ื–ืึธืœ ื–ื™ื™ืŸ ื‘ืึทืงื•ื•ืขื ื“ืึธ. ืขืก ืื™ื– ื‘ืึทืงื•ื•ืขื ืฆื• ื˜ืึธืŸ ืึท ืจืขืฆืขื ื–ื™ืข, ื–ืขืŸ ืื™ืŸ ื“ื™ ืคืจื™ื™ืžื•ื•ืขืจืง ืคื•ืŸ ื•ื•ืึธืก ืึทืจื‘ืขื˜ ืขืก ืื™ื– ื’ืขื˜ืืŸ, ืื•ืŸ ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ืกืงื•ืกื™ืขืก. ืžื™ืจ ื”ืึธื‘ืŸ ื™ื ืึทื’ืจื™ื™ื˜ื™ื“ ื“ื–ืฉืขื ืงื™ื ืก + ื‘ื™ื˜ื‘ื•ืงืงืขื˜ + ื“ื–ืฉื™ืจืึท.

ืึธื‘ืขืจ ื•ื•ื™ ืึทื–ืึท, ืึท ืจืขืฆืขื ื–ื™ืข ืื™ื– ื ื™ืฉื˜ ืึท ืคึผืึทื ืึทืกื™ืึท, ืžื™ืจ ื”ืึธื‘ืŸ ื–ื™ืš ืื™ืŸ ื“ื™ ื‘ืขืœ ืงืึธื“, ื•ื•ืึธืก ื’ืขืžืื›ื˜ ืื•ื ื“ื– ืคืœืึทืคึผ ื˜ืขืกืฅ:

- get_url:
    url: "{{ actk_certs }}/{{ item.1 }}"
    dest: "{{ actk_src_tmp }}/"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ item.1 }}"
    dest: "{{ actk_dst_tmp }}"
  with_subelements:
    - "{{ actk_cert_list }}"
    - "{{ actk_certs }}"

ื“ืขืจื ืึธืš ื”ืึธื‘ืŸ ื–ื™ื™ ืขืก ืคืึทืจืคืขืกื˜ื™ืงื˜, ืึธื‘ืขืจ ื“ื™ ืจืขื–ืึทื“ื• ืื™ื– ื’ืขื‘ืœื™ื‘ืŸ.

get_url:
    url: "{{ actk_certs }}/{{ actk_item }}"
    dest: "{{ actk_src_tmp }}/{{ actk_item }}"
    username: "{{ actk_mvn_user }}"
    password: "{{ actk_mvn_pass }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"
  delegate_to: localhost

- copy:
    src: "{{ actk_src_tmp }}/{{ actk_item }}"
    dest: "{{ actk_dst_tmp }}"
  loop_control:
    loop_var: actk_item
  with_items: "{{ actk_cert_list }}"

ื˜ืึธื’ #311: ื’ื™ื›ืงื™ื™ึทื˜ ืึทืจื•ื™ืฃ ื˜ืขืกืฅ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืžื™ื˜ ื“ืขืจ ืฆื™ื™ื˜, ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืžืขืจ ื˜ืขืกืฅ, ื‘ื•ื™ืขืŸ ืกืœืึธื•ืขืจ, ืึทืจื•ื™ืฃ ืฆื• ืึท ืฉืขื” ืื™ืŸ ื“ื™ ืขืจื’ืกื˜ ืคืึทืœ. ืื•ื™ืฃ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืจืขื˜ืจืึธ ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ืคืจืึทื–ืข ื•ื•ื™ "ืขืก ืื™ื– ื’ื•ื˜ ืึทื– ืขืก ื–ืขื ืขืŸ ื˜ืขืกืฅ, ืึธื‘ืขืจ ื–ื™ื™ ื–ืขื ืขืŸ ืคึผืึทืžืขืœืขืš." ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืžื™ืจ ืคืืจืœืื–ืŸ ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ื˜ืขืกืฅ ืื•ื™ืฃ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ืื•ืŸ ืฆื•ื’ืขืคืืกื˜ ื–ื™ื™ ืคึฟืึทืจ ื“ืึธืงืขืจ ืฆื• ืžืึทื›ืŸ ืขืก ืคืึทืกื˜ืขืจ. ืžื™ืจ ืื•ื™ืš ืจื™ืคึผืœื™ื™ืกื˜ ื˜ืขืกื˜ื™ื ืคืจืึท ืžื™ื˜ ืึทื ืกืึทื‘ืึทืœ ื•ื•ืขืจืึทืคื™ื™ืขืจ ืฆื• ืจืขื“ื•ืฆื™ืจืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ื’ืขื ื™ืฆื˜.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืฉื˜ืจืขื ื’ ื’ืขืจืขื“ื˜, ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ืึท ื’ืึทื ื’ ืคื•ืŸ ืžื™ื˜ืœืขืŸ:

  1. ื‘ืึทืฉื˜ื™ืžืขืŸ ืฆื• ื“ืึธืงืงืขืจ.
  2. ืึทืจืึธืคึผื ืขืžืขืŸ ืจืึธืœืข ื˜ืขืกื˜ื™ื ื’, ื•ื•ืึธืก ืื™ื– ื“ื•ืคึผืœื™ืงื™ื™ื˜ื™ื“ ืจืขื›ื˜ ืฆื• ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–.
  3. ืคืึทืจื’ืจืขืกืขืจืŸ ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืกืœืึทื•ื•ืขืก.
  4. ืคึผืจื•ื‘ื™ืจืŸ ืœื•ื™ืคืŸ ืกื“ืจ.
  5. ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืœื™ื™ื ืขืŸ ืึทืœืข ืœืึธื•ืงืึทืœื™ ืžื™ื˜ ืื™ื™ืŸ ื‘ืึทืคึฟืขืœ.

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜, ืคึผื™ื™ืคึผืœื™ื™ืŸ ืื•ื™ืฃ ื“ื–ืฉืขื ืงื™ื ืก ืื™ื– ืื•ื™ืš ื™ื•ื ืึทืคื™ื™ื“

  1. ืฉืึทืคึฟืŸ ื‘ื•ื™ืขืŸ ืกื˜ืึทื’ืขืก.
  2. ืœื™ื ื˜ ืึทืœืข ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.
  3. ืœื•ื™ืคืŸ ืคึผืจื•ื‘ื™ืจืŸ ืจืึธืœืข ืกื˜ืึทื’ืขืก ืื™ืŸ ืคึผืึทืจืึทืœืขืœ.
  4. ืขื ื“ื™ืงืŸ.

ืœืขืงืฆื™ืขืก ื’ืขืœืขืจื ื˜

ื•ื™ืกืžื™ื™ื“ืŸ ื’ืœืื‘ืืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–

Ansible ื ื™ืฆื˜ ื’ืœืื‘ืืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–, ืขืก ืื™ื– ืึท ืคึผืึทืจื˜ื™ื™ื™ืฉ ื•ื•ืึธืจืงืึทืจืึธื•ื ื“ ืื™ืŸ ื“ื™ ืคืึธืจืขื private_role_vars, ืึธื‘ืขืจ ื“ืึธืก ืื™ื– ื ื™ืฉื˜ ืึท ืคึผืึทื ืึทืกื™ืึท.

ืœืืžื™ืจ ื“ื™ืจ ื’ืขื‘ืŸ ื ื‘ื™ื™ืฉืคื™ืœ. ื–ืืœ ืื•ื ื“ื– ื”ืึธื‘ืŸ role_a ะธ role_b

# cat role_a/defaults/main.yml
---
msg: a

# cat role_a/tasks/main.yml
---
- debug:
    msg: role_a={{ msg }}

# cat role_b/defaults/main.yml
---
msg: b

# cat role_b/tasks/main.yml
---
- set_fact:
    msg: b
- debug:
    msg: role_b={{ msg }}

- hosts: localhost
  vars:
    msg: hello
  roles:
    - role: role_a
    - role: role_b
  tasks:
    - debug:
        msg: play={{msg}}

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ื“ื™ ืžืึธื“ื ืข ื–ืึทืš ืื™ื– ืึทื– ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ื•ื•ืขื˜ ืึธืคืขื ื’ืขืŸ ืื•ื™ืฃ ื–ืื›ืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื ื™ืฉื˜ ืฉื˜ืขื ื“ื™ืง ืงืœืึธืจ ื•ื•ื™ ื“ืขืจ ื˜ืึธื’, ืึทื–ืึท ื•ื•ื™ ื“ื™ ืกื“ืจ ืื™ืŸ ื•ื•ืึธืก ืจืึธืœืขืก ื–ืขื ืขืŸ ืœื™ืกื˜ืขื“. ืฆื•ื ื‘ืึทื“ื•ื™ืขืจืŸ, ื“ืึธืก ืื™ื– ื“ื™ ื ืึทื˜ื•ืจ ืคื•ืŸ Ansible ืื•ืŸ ื“ืขืจ ื‘ืขืกื˜ืขืจ ื–ืึทืš ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื˜ืืŸ ืื™ื– ืฆื• ื ื•ืฆืŸ ืึท ืžื™ืŸ ืคื•ืŸ ื”ืขืกืงืขื, ืœืžืฉืœ, ืื™ืŸ ืึท ืจืึธืœืข, ื ื•ืฆืŸ ื‘ืœื•ื™ื– ื“ื™ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื“ื™ืกืงืจื™ื™ื‘ื“ ืื™ืŸ ื“ืขื ืจืึธืœืข.

ืฉืœืขื›ื˜: ื ื•ืฆืŸ ื’ืœืื‘ืืœืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.

# cat roles/some_role/tasks/main.yml
---
debug:
  var: java_home

ื’ื•ื˜: ืื™ืŸ defaults ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ื ื•ื™ื˜ื™ืง ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืื•ืŸ ืฉืคึผืขื˜ืขืจ ื ื•ืฆืŸ ื–ื™ื™ ื‘ืœื•ื™ื–.

# cat roles/some_role/defaults/main.yml
---
r__java_home:
 "{{ java_home | default('/path') }}"

# cat roles/some_role/tasks/main.yml
---
debug:
  var: r__java_home

ืคึผืจืขืคื™ืงืก ืจืึธืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–

ืฉืœืขื›ื˜: ื ื•ืฆืŸ ื’ืœืื‘ืืœืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.

# cat roles/some_role/defaults/main.yml
---
db_port: 5432

ื’ื•ื˜: ืื™ืŸ ืจืึธืœืขืก ืคึฟืึทืจ ื•ื•ืขืจื™ืึทื‘ืึทืœื–, ื ื•ืฆืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืคึผืจื™ืคื™ืงืกื˜ ืžื™ื˜ ื“ื™ ืจืึธืœืข ื ืึธืžืขืŸ, ื“ืึธืก, ื“ื•ืจืš ืงื•ืงืŸ ืื™ืŸ ื™ื ื•ื•ืึทื ื˜ืึธืจื™, ื•ื•ืขื˜ ืžืึทื›ืŸ ืขืก ื’ืจื™ื ื’ืขืจ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืฉืขืขื ื™ืฉ.

# cat roles/some_role/defaults/main.yml
---
some_role__db_port: 5432

ื ื™ืฆืŸ ืฉืœื™ื™ืฃ ืงืึธื ื˜ืจืึธืœ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง

ืฉืœืขื›ื˜: ื ื™ืฆืŸ ื ืึธืจืžืึทืœ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ืœื•ืคึผืก item, ืื•ื™ื‘ ื“ื™ ืึทืจื‘ืขื˜ / ืคึผืœื™ื™ึทื‘ืึธืึธืง ืื™ื– ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืขืจื’ืขืฅ, ื“ืึธืก ืงืขืŸ ืคื™ืจืŸ ืฆื• ืื•ืžื’ืขืจื™ื›ื˜ ื ืึทื˜ื•ืจ

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item }}"
      loop:
        - item1
        - item2

ื’ื•ื˜: ืจื™ื“ื™ืคื™ื™ืŸ ืึท ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืื™ืŸ ืึท ืฉืœื™ื™ืฃ ื“ื•ืจืš loop_var.

---
- hosts: localhost
  tasks:
    - debug:
        msg: "{{ item_name }}"
      loop:
        - item1
        - item2
      loop_control:
        loop_var: item_name

ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื•ื•ืขืจื™ืึทื‘ืึทืœื–

ืžื™ืจ ื”ืึธื‘ืŸ ืžืกื›ื™ื ื’ืขื•ื•ืขืŸ ืฆื• ื ื•ืฆืŸ ื•ื•ืขืจื™ืึทื‘ืœืข ืคึผืจืขืคื™ืงืก ืขืก ื•ื•ืึธืœื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื™ื‘ืขืจื™ืง ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื–ื™ื™ ื–ืขื ืขืŸ ื“ื™ืคื™ื™ื ื“ ื•ื•ื™ ืžื™ืจ ื“ืขืจื•ื•ืึทืจื˜ืŸ ืื•ืŸ, ืœืžืฉืœ, ื–ืขื ืขืŸ ื ื™ืฉื˜ ืึธื•ื•ื•ืขืจืจื™ื™ื“ ื“ื•ืจืš ืึท ืœื™ื™ื“ื™ืง ื•ื•ืขืจื˜;

ื’ื•ื˜: ืงื•ืง ื•ื•ืขืจื™ืึทื‘ืึทืœื–.

- name: "Verify that required string variables are defined"
  assert:
    that: ahs_var is defined and ahs_var | length > 0 and ahs_var != None
    fail_msg: "{{ ahs_var }} needs to be set for the role to work "
    success_msg: "Required variables {{ ahs_var }} is defined"
  loop_control:
    loop_var: ahs_var
  with_items:
    - ahs_item1
    - ahs_item2
    - ahs_item3

ื•ื™ืกืžื™ื™ื“ืŸ ื›ืึทืฉื™ื– ื“ื™ืงืฉืึทื ืขืจื™ื–, ื ื•ืฆืŸ ืคืœืึทืš ืกื˜ืจื•ืงื˜ื•ืจ

ืื•ื™ื‘ ืึท ืจืึธืœืข ื™ืงืกืคึผืขืงืฅ ืึท ื”ืึทืฉ / ื•ื•ืขืจื˜ืขืจื‘ื•ืš ืื™ืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื–ื™ื™ึทืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก, ืื•ื™ื‘ ืžื™ืจ ื•ื•ื™ืœืŸ ืฆื• ื˜ื•ื™ืฉืŸ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืงื™ื ื“ ืคึผืึทืจืึทืžืขื˜ืขืจืก, ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ืึธื•ื•ื•ืขืจืจื™ื™ื“ ื“ื™ ื’ืื ืฆืข ื”ืึทืฉ / ื•ื•ืขืจื˜ืขืจื‘ื•ืš, ื•ื•ืึธืก ื•ื•ืขื˜ ืคืึทืจื’ืจืขืกืขืจืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืงืึทืžืคึผืœืขืงืกื™ื˜ื™.

ืฉืœืขื›ื˜: ื ื™ืฆืŸ ื”ืึทืฉ / ื•ื•ืขืจื˜ืขืจื‘ื•ืš.

---
user:
  name: admin
  group: admin

ื’ื•ื˜: ื ื™ืฆืŸ ืึท ืคืœืึทืš ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืกื˜ืจื•ืงื˜ื•ืจ.

---
user_name: admin
user_group: "{{ user_name }}"

ืฉืึทืคึฟืŸ ืื™ื“ืขืžืึธื˜ืขื ื˜ ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ืื•ืŸ ืจืึธืœืขืก

ืจืึธืœืขืก ืื•ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืื™ื“ืขืžืึธื˜ืขื ื˜, ื•ื•ื™ื™ึทืœ ืจืึทื“ื•ืกืึทื– ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื“ืจื™ืคื˜ ืื•ืŸ ืžื•ืจื ืคื•ืŸ ื‘ืจื™ื™ืงื™ื ื’ ืขืคึผืขืก. ืึธื‘ืขืจ ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ืžืึทืœืึทืงื™ื•ืœ, ื“ืึธืก ืื™ื– ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื ืึทื˜ื•ืจ.

ื•ื™ืกืžื™ื™ื“ืŸ ื ื™ืฆืŸ ื‘ืึทืคึฟืขืœืŸ ืฉืึธืœ ืžืึทื“ื–ืฉื•ืœื–

ื ื™ืฆืŸ ืึท ืฉืึธืœ ืžืึธื“ื•ืœืข ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ืึท ื™ืžืคึผืขืจืึทื˜ื™ื•ื• ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคึผืึทืจืึทื“ื™ื’ื, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ืื™ื™ื ืขืจ, ื•ื•ืึธืก ืื™ื– ื“ื™ ื”ืึทืจืฅ ืคื•ืŸ Ansible.

ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ื™ืŸ ืจืึธืœืขืก ื“ื•ืจืš ืžืึทืœืึทืงื™ื•ืœ

ืžืึธืœืขืงื•ืœืึทืจ ืื™ื– ืึท ื–ื™ื™ืขืจ ืคืœืขืงืกืึทื‘ืึทืœ ื–ืึทืš, ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ืขื˜ืœืขื›ืข ืกื™ื ืขืจื™ืึธื•ื–.

ืžืึธืœืขืงื•ืœืข ืงื™ื™ืคืœ ื™ื ืกื˜ืึทื ืกื™ื–

ะ’ molecule.yml ืื™ืŸ ืึธืคึผื˜ื™ื™ืœื•ื ื’ platforms ืื™ืจ ืงืขื ืขืŸ ื‘ืึทืฉืจื™ื™ึทื‘ืŸ ืคื™ืœืข ืžื—ื ื•ืช ืึทื– ืื™ืจ ืงืขื ืขืŸ ืฆืขื•ื•ื™ืงืœืขืŸ.

---
    driver:
      name: docker
    platforms:
      - name: postgresql-instance
        hostname: postgresql-instance
        image: registry.example.com/postgres10:latest
        pre_build_image: true
        override_command: false
        network_mode: host
      - name: app-instance
        hostname: app-instance
        pre_build_image: true
        image: registry.example.com/docker_centos_ansible_tests
        network_mode: host

ื“ืขืจื™ื‘ืขืจ, ื“ื™ ืžื—ื ื•ืช ืงืขื ืขืŸ ื–ื™ื™ืŸ converge.yml ื ื•ืฆืŸ:

---
- name: Converge all
  hosts: all
  vars:
    ansible_user: root
  roles:
    - role: some_role

- name: Converge db
  hosts: db-instance
  roles:
    - role: some_db_role

- name: Converge app
  hosts: app-instance
  roles:
    - role: some_app_role

ืึทื ืกื™ื‘ืœืข ื•ื•ืขืจืึทืคื™ื™ืขืจ

ืื™ืŸ ืžืึทืœืึทืงื™ื•ืœ ืขืก ืื™ื– ืžืขื’ืœืขืš ืฆื• ื ื•ืฆืŸ ืึทื ืกื™ื‘ืœืข ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื“ื™ ื‘ื™ื™ึทืฉืคึผื™ืœ ืื™ื– ืงืึทื ืคื™ื’ื™ืขืจื“ ืจื™ื›ื˜ื™ืง, ื“ืขืจืฆื•, ื“ืึธืก ืื™ื– ื’ืขื•ื•ืขืŸ ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื–ื™ื ื˜ ืžืขืœื“ื•ื ื’ 3. ืขืก ืื™ื– ื ื™ืฉื˜ ืึทื–ื•ื™ ืคืœืขืงืกืึทื‘ืึทืœ ื•ื•ื™ ื˜ืขืกื˜ื™ื ืคืจืึท / ื™ื ืกืคึผืขืง, ืึธื‘ืขืจ ืžื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทื– ื“ื™ ืื™ื ื”ืึทืœื˜ ืคื•ืŸ ื“ืขืจ ื˜ืขืงืข ื’ืœื™ื™ึทื›ืŸ ืื•ื ื“ื–ืขืจ ืขืงืกืคึผืขืงื˜ื™ื™ืฉืึทื ื–:

---
- name: Verify
  hosts: all
  tasks:
    - name: copy config
      copy:
        src: expected_standalone.conf
        dest: /root/wildfly/bin/standalone.conf
        mode: "0644"
        owner: root
        group: root
      register: config_copy_result

    - name: Certify that standalone.conf changed
      assert:
        that: not config_copy_result.changed

ืึธื“ืขืจ ืฆืขื•ื•ื™ืงืœืขืŸ ื“ื™ ืกืขืจื•ื•ื™ืก, ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ืขืก ืื™ื– ื‘ืืจืขื›ื˜ื™ื’ื˜ ืื•ืŸ ื˜ืึธืŸ ืึท ืจื•ื™ืš ืคึผืจืึธื‘ืข:

---
  - name: Verify
    hosts: solr
    tasks:
      - command: /blah/solr/bin/solr start -s /solr_home -p 8983 -force
      - uri:
          url: http://127.0.0.1:8983/solr
          method: GET
          status_code: 200
        register: uri_result
        until: uri_result is not failed
        retries: 12
        delay: 10
      - name: Post documents to solr
        command: /blah/solr/bin/post -c master /exampledocs/books.csv

ืฉื˜ืขืœืŸ ืงืึธืžืคึผืœืขืงืก ืœืึธื’ื™ืง ืื™ืŸ ืžืึทื“ื–ืฉื•ืœื– & ืคึผืœื•ื’ื™ื ืก

ืึทื ืกื™ื‘ืœืข ืึทื“ื•ื•ืึทืงืึทืฅ ืึท ื“ืขืงืœืึทืจืึทื˜ื™ื•ื•ืข ืฆื•ื’ืึทื ื’, ืึทื–ื•ื™ ื•ื•ืขืŸ ืื™ืจ ื˜ืึธืŸ ืงืึธื“ ื‘ืจืึทื ื˜ืฉื™ื ื’, ื“ืึทื˜ืŸ ื˜ืจืึทื ืกืคืึธืจืžืึทืฆื™ืข, ืฉืึธืœ ืžืึทื“ื–ืฉื•ืœื–, ื“ื™ ืงืึธื“ ื•ื•ืขืจื˜ ืฉื•ื•ืขืจ ืฆื• ืœื™ื™ืขื ืขืŸ. ืฆื• ืงืึทืžื‘ืึทื˜ ื“ืขื ืื•ืŸ ื”ืึทืœื˜ืŸ ืขืก ืคึผืฉื•ื˜ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ, ืขืก ื•ื•ืึธืœื˜ ื ื™ืฉื˜ ื–ื™ื™ืŸ ื™ื‘ืขืจื™ืง ืฆื• ืงืึทืžื‘ืึทื˜ ื“ืขื ืงืึทืžืคึผืœืขืงืกื™ื˜ื™ ื“ื•ืจืš ืฉืึทืคึฟืŸ ื“ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืžืึทื“ื–ืฉื•ืœื–.

ืกืึทืžืขืจื™ื™ื– ืขืฆื•ืช ืื•ืŸ ื˜ืจื™ืงืก

  1. ื•ื™ืกืžื™ื™ื“ืŸ ื’ืœืื‘ืืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  2. ืคึผืจืขืคื™ืงืก ืจืึธืœืข ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  3. ื ื™ืฆืŸ ืฉืœื™ื™ืฃ ืงืึธื ื˜ืจืึธืœ ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง.
  4. ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ื•ื•ืขืจื™ืึทื‘ืึทืœื–.
  5. ื•ื™ืกืžื™ื™ื“ืŸ ื”ืึทืฉืขืก ื“ื™ืงืฉืึทื ืขืจื™ื–, ื ื•ืฆืŸ ืคืœืึทืš ืกื˜ืจื•ืงื˜ื•ืจ.
  6. ืฉืึทืคึฟืŸ ืื™ื“ืขืžืึธื˜ืขื ื˜ ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ืื•ืŸ ืจืึธืœืขืก.
  7. ื•ื™ืกืžื™ื™ื“ืŸ ื ื™ืฆืŸ ื‘ืึทืคึฟืขืœืŸ ืฉืึธืœ ืžืึทื“ื–ืฉื•ืœื–.
  8. ืคึผืจื•ื‘ื™ืจืŸ ื“ื™ื™ืŸ ืจืึธืœืขืก ื“ื•ืจืš ืžืึทืœืึทืงื™ื•ืœ.
  9. ืฉื˜ืขืœืŸ ืงืึธืžืคึผืœืขืงืก ืœืึธื’ื™ืง ืื™ืŸ ืžืึทื“ื–ืฉื•ืœื– & ืคึผืœื•ื’ื™ื ืก.

ืกืึธืฃ

ื•ื•ื™ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื˜ืขืกื˜ื™ื ื’ ืึทื ืกื™ื‘ืœืข, ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ืŸ ืึท ื™ืึธืจ ืื•ืŸ ื ื™ืฉื˜ ื•ื•ืขืจืŸ ืžืฉื•ื’ืข

ืื™ืจ ืงืขื ื˜ ื ื™ืฉื˜ ื ืึธืจ ื’ื™ื™ืŸ ืื•ืŸ ืจืขืคืึทืงื˜ืึธืจ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ืื™ืŸ ืึท ืคึผืจื•ื™ืขืงื˜, ืืคื™ืœื• ืื•ื™ื‘ ืื™ืจ ื”ืึธื‘ืŸ ื™ืึทืง. ื“ืึธืก ืื™ื– ืึท ืœืึทื ื’ ืคึผืจืึธืฆืขืก ื•ื•ืึธืก ืจื™ืงื•ื•ื™ื™ืขืจื– ื’ืขื“ื•ืœื“, ืฆื™ื™ื˜ ืื•ืŸ ื•ื•ื™ืกืŸ.

UPD1 2020.05.01 20:30 - ืคึฟืึทืจ ืขืจืฉื˜ื™ืง ืคึผืจืึธืคื™ืœื™ื ื’ ืคื•ืŸ ืคึผืœื™ื™ึทื‘ืึธืึธืงืก ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ callback_whitelist = profile_tasks ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ืึธืก ืคึผื•ื ืงื˜ ืึทืจื‘ืขื˜ ืคึฟืึทืจ ืึท ืœืึทื ื’ ืฆื™ื™ึทื˜. ื“ืขืžืึธืœื˜ ืžื™ืจ ื’ื™ื™ืŸ ื“ื•ืจืš ืึทื ืกืึทื‘ืึทืœ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืงืœืึทืกื™ืงืก. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืคึผืจื•ื‘ื™ืจืŸ ืžื™ื˜ืึธื’ืขืŸ
UPD2 2020.05.03 16:34 - ืขื ื’ืœื™ืฉ ื•ื•ืขืจืกื™ืข

ืžืงื•ืจ: www.habr.com

ืงื•ื™ืคืŸ ืคืึทืจืœืึธื–ืœืขืš ื”ืึธืกื˜ื™ื ื’ ืคึฟืึทืจ ื–ื™ื™ื˜ืœืขืš ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก ๐Ÿ”ฅ ืงื•ื™ืคื˜ ืคืึทืจืœืขืกืœืขื›ืข ื•ื•ืขื‘ื–ื™ื™ื˜ืœ ื”ืึธืกื˜ื™ื ื’ ืžื™ื˜ DDoS ืฉื•ืฅ, VPS VDS ืกืขืจื•ื•ืขืจืก | ProHoster