แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒกแƒžแƒ”แƒฅแƒขแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ on DevOps-40 2020-03-18:

แƒ›แƒ”แƒแƒ แƒ” แƒ™แƒแƒ›แƒ˜แƒขแƒ˜แƒ“แƒแƒœ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒฃแƒšแƒ˜, แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒ™แƒแƒ“แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒ˜ แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒฃแƒฎแƒ”แƒจแƒ˜ แƒ แƒ”แƒแƒšแƒแƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒแƒก. แƒ”แƒก แƒแƒ แƒช แƒ™แƒแƒ แƒ’แƒ˜แƒ แƒ“แƒ แƒแƒ แƒช แƒชแƒฃแƒ“แƒ˜, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒœแƒแƒช แƒ™แƒแƒ›แƒแƒ—แƒ˜ แƒ แƒ—แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒชแƒฎแƒแƒ•แƒ แƒ. แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜แƒ แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ. Refactoring แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒ“แƒ˜. แƒ“แƒแƒ”, แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒก Ansible-แƒ˜แƒก แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ•แƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—.

แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ

แƒ“แƒฆแƒ” #1: แƒžแƒแƒชแƒ˜แƒ”แƒœแƒขแƒ˜ แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ˜แƒงแƒ แƒžแƒ˜แƒ แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜. แƒ›แƒแƒก แƒฐแƒงแƒแƒ•แƒ“แƒ Dev แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒ˜ แƒ“แƒ Ops แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒ˜. แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ˜แƒ›แƒแƒ•แƒ” แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ“แƒœแƒ”แƒœ: แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒฃแƒจแƒ•แƒแƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ. แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ›แƒ แƒ’แƒฃแƒœแƒ“แƒ›แƒ แƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ—แƒแƒ•แƒ˜แƒกแƒ”แƒ‘แƒฃแƒ แƒแƒ“ แƒ’แƒแƒ“แƒแƒญแƒ แƒ. แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ” แƒ’แƒแƒ“แƒแƒฌแƒงแƒ“แƒ Ansible-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ Dev แƒ“แƒ Ops แƒ’แƒฃแƒœแƒ“แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ“แƒฆแƒ” #89: แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ“แƒแƒ‘แƒแƒ“แƒ”แƒ‘แƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ—แƒแƒ•แƒแƒ“แƒแƒช แƒแƒ  แƒจแƒ”แƒฃแƒ›แƒฉแƒœแƒ”แƒ•แƒ˜แƒแƒ—, แƒกแƒฃแƒ แƒ“แƒแƒ— แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒแƒ“, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ แƒแƒฆแƒ›แƒแƒฉแƒœแƒ“แƒ. แƒ แƒแƒ’แƒแƒ  แƒฎแƒ“แƒ”แƒ‘แƒ แƒ”แƒก?

  • แƒแƒฅ แƒ’แƒแƒ“แƒแƒฃแƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก, แƒ‘แƒ˜แƒœแƒซแƒฃแƒ แƒ˜ แƒฐแƒแƒ™แƒ˜ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒแƒ— แƒ“แƒ แƒ›แƒ”แƒ แƒ” แƒ’แƒแƒ•แƒแƒกแƒฌแƒแƒ แƒแƒ—.
  • แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒœแƒแƒ—แƒ”แƒšแƒ˜แƒ, แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒฅ.
  • แƒ›แƒ” แƒ•แƒ˜แƒชแƒ˜ Ansible/Python/Bash/Terraform! แƒจแƒ”แƒฎแƒ”แƒ“แƒ”, แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ›แƒ˜แƒซแƒšแƒ˜แƒ แƒแƒ•แƒฃแƒแƒ แƒ”!
  • แƒ›แƒ” แƒ•แƒแƒ  Full Stack Overflow แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒ” แƒ”แƒก stackoverflow-แƒ“แƒแƒœ, แƒแƒ  แƒ•แƒ˜แƒชแƒ˜ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ’แƒแƒ แƒ˜ แƒฉแƒแƒœแƒก แƒ“แƒ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒก แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒก.

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— แƒ’แƒแƒฃแƒ’แƒ”แƒ‘แƒแƒ แƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒ, แƒ’แƒแƒฃแƒ’แƒ”แƒ‘แƒแƒ แƒ˜แƒ แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก, แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ—แƒฃ แƒแƒ แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ, แƒจแƒ”แƒชแƒ•แƒšแƒ, แƒงแƒแƒ•แƒแƒ แƒฏแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒกแƒแƒงแƒ แƒ“แƒ”แƒœแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ. , แƒ แƒแƒช แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒแƒ›แƒซแƒ˜แƒ›แƒ”แƒ‘แƒก แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒก.

- 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: แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒชแƒœแƒแƒ‘แƒ˜แƒ”แƒ แƒ”แƒ‘แƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ—แƒแƒ•แƒ“แƒแƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒฉแƒแƒคแƒ˜แƒฅแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜ IaC แƒ›แƒแƒ“แƒ”แƒšแƒ˜ แƒแƒฆแƒแƒ  แƒแƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก/แƒ‘แƒ˜แƒ–แƒœแƒ”แƒกแƒ˜แƒก/แƒกแƒฎแƒ•แƒ แƒ’แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒก แƒ“แƒ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒขแƒแƒœแƒ˜แƒก แƒ“แƒ แƒ แƒแƒฆแƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜. แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ’แƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ“แƒ แƒแƒ แƒ’แƒแƒ“แƒแƒ“แƒ’แƒแƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ.

IaC แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ

แƒ“แƒฆแƒ” #139: แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ?

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒกแƒแƒœแƒแƒ› แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ–แƒ” แƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฃแƒžแƒแƒกแƒฃแƒฎแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒก:

  1. แƒ แƒแƒขแƒแƒ› แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜?
  2. แƒ“แƒ แƒ แƒ’แƒแƒฅแƒ•แƒก?
  3. แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒชแƒแƒ“แƒœแƒ?

แƒ—แƒฃ แƒแƒ  แƒ˜แƒชแƒ˜แƒ— แƒ แƒแƒ’แƒแƒ  แƒฃแƒžแƒแƒกแƒฃแƒฎแƒแƒ— แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› แƒ˜แƒก แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ, แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒฃแƒแƒ แƒ”แƒกแƒ“แƒ”แƒก. แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒ›แƒฅแƒแƒœแƒ“แƒ ( แƒ แƒ แƒ•แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ” แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ™แƒแƒ“แƒ˜แƒก 200 แƒฎแƒแƒ–แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ), แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ›แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ แƒ“แƒแƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒคแƒ˜แƒฅแƒกแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒคแƒแƒ แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ“แƒฆแƒ” #149: แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒก แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ แƒแƒช แƒแƒ แƒ˜แƒก แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ. แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ แƒแƒก แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ˜แƒ—, แƒ•แƒžแƒแƒฃแƒšแƒแƒ‘แƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒฃแƒ  แƒกแƒคแƒ”แƒ แƒแƒ”แƒ‘แƒก แƒ“แƒ แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ—แƒ˜ แƒ’แƒแƒ“แƒแƒญแƒ แƒ˜แƒก แƒ’แƒ–แƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฌแƒ”แƒ แƒ— แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒชแƒœแƒ”แƒ‘แƒ”แƒ‘แƒก แƒ แƒแƒ’แƒแƒ แƒฆแƒแƒช, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒก แƒจแƒ”แƒ แƒฌแƒงแƒ›แƒแƒจแƒ˜, แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒœแƒ“แƒ”แƒ‘แƒ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ "แƒ แƒ แƒแƒ แƒ˜แƒก แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ?" แƒแƒœ "แƒ แƒ แƒแƒ แƒ˜แƒก แƒกแƒฌแƒแƒ แƒ˜?" แƒ’แƒ–แƒ แƒแƒ  แƒ“แƒแƒ’แƒ•แƒ˜แƒ™แƒแƒ แƒ’แƒแƒ•แƒก. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ แƒฉแƒ˜แƒ— แƒ˜แƒ“แƒ”แƒแƒ–แƒ” แƒ’แƒแƒงแƒแƒ•แƒ˜ แƒ“แƒ แƒ˜แƒ‘แƒแƒขแƒแƒœแƒ”: แƒฉแƒ•แƒ”แƒœ แƒ•แƒงแƒแƒคแƒ— แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก แƒžแƒแƒขแƒแƒ แƒ แƒœแƒแƒญแƒ แƒ”แƒ‘แƒแƒ“/แƒแƒ’แƒฃแƒ แƒ”แƒ‘แƒแƒ“. แƒ”แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒแƒ˜แƒฆแƒแƒ— แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜, แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒ˜แƒก, แƒ“แƒแƒคแƒแƒ แƒแƒ— แƒ˜แƒ’แƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ˜แƒ’แƒ˜ แƒแƒ แƒแƒคแƒ แƒ˜แƒก แƒ“แƒแƒ แƒฆแƒ•แƒ”แƒ•แƒ˜แƒก แƒจแƒ˜แƒจแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ’แƒแƒ›แƒแƒ“แƒ˜แƒก, แƒ แƒแƒ› แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒฅแƒ•แƒแƒ™แƒฃแƒ—แƒฎแƒ”แƒ“แƒ˜ แƒ“แƒ แƒแƒฅ แƒแƒฆแƒกแƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒ˜แƒ แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ›แƒ˜แƒ“แƒ. แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ˜แƒ“แƒ”แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒ˜แƒแƒคแƒ˜ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ• แƒ แƒแƒฆแƒแƒชแƒ”แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒฉแƒแƒฆแƒ แƒ›แƒแƒ•แƒ”แƒ‘แƒ, แƒซแƒ•แƒ˜แƒ แƒแƒ“แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒ”แƒœ แƒ›แƒ—แƒ”แƒš แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒก.

แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜

แƒกแƒแƒœแƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒฆแƒ•แƒฌแƒ”แƒ แƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒแƒจแƒฃแƒฅแƒ”แƒ— Ansible แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ”, แƒ›แƒ” แƒแƒฆแƒ•แƒฌแƒ”แƒ  แƒ›แƒชแƒ“แƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ“แƒ แƒ” แƒ›แƒฅแƒแƒœแƒ“แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ›แƒ”แƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒœแƒ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒ˜แƒก แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“.

แƒ“แƒฆแƒ” No -997: SDS แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ’แƒแƒ•แƒขแƒ”แƒกแƒขแƒ” Ansible แƒ˜แƒงแƒ SDS-แƒ˜แƒก (แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒกแƒแƒชแƒแƒ•แƒ˜) แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ”. แƒแƒ› แƒ—แƒ”แƒ›แƒแƒ–แƒ” แƒชแƒแƒšแƒ™แƒ” แƒกแƒขแƒแƒขแƒ˜แƒแƒ
แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ•แƒขแƒ”แƒฎแƒแƒ— แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ”แƒ‘แƒ˜ แƒฎแƒ”แƒšแƒฏแƒแƒฎแƒ”แƒ‘แƒ˜แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ›แƒแƒ™แƒšแƒ”แƒ“, แƒจแƒ”แƒ‘แƒ แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒแƒ›แƒ˜แƒ“แƒ แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒ“แƒ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒ”แƒ แƒ— แƒ แƒแƒšแƒ–แƒ” แƒ“แƒแƒ•แƒฎแƒแƒ แƒฏแƒ”แƒ— 60-90 แƒฌแƒฃแƒ—แƒ˜, แƒ แƒแƒช แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒ แƒแƒ. แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ e2e แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜, แƒ”.แƒ˜. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒ”แƒ— แƒกแƒ แƒฃแƒšแƒคแƒแƒกแƒแƒ•แƒแƒœแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ›แƒแƒ•แƒชแƒแƒ“แƒ”แƒ— แƒ˜แƒ’แƒ˜. แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ“แƒแƒ›แƒแƒ›แƒซแƒ˜แƒ›แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ’แƒแƒœแƒ”แƒ‘แƒ. แƒ›แƒแƒ’แƒ แƒแƒ› แƒฃแƒœแƒ“แƒ แƒ•แƒแƒฆแƒ˜แƒแƒ แƒ, แƒ แƒแƒ› แƒแƒ› แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ›แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ แƒ“แƒ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒกแƒชแƒ.

แƒ“แƒฆแƒ” # -701: แƒกแƒขแƒแƒชแƒ˜แƒแƒœแƒแƒ แƒฃแƒšแƒ˜ แƒ“แƒ แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒกแƒแƒ›แƒ–แƒแƒ แƒ”แƒฃแƒšแƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

Ansible แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒ“แƒ”แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ แƒ˜แƒงแƒ แƒ›แƒ–แƒ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ™แƒ”แƒ แƒซแƒแƒ“, แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒกแƒแƒ›แƒ–แƒแƒ แƒ”แƒฃแƒšแƒ / แƒกแƒแƒ›แƒ–แƒแƒ แƒ”แƒฃแƒšแƒ-แƒชแƒ˜ แƒ“แƒ แƒ˜แƒœแƒกแƒžแƒ”แƒฅแƒชแƒ˜แƒ. แƒแƒ แƒฉแƒ”แƒ•แƒแƒœแƒ˜ แƒ’แƒแƒœแƒ˜แƒกแƒแƒ–แƒฆแƒ•แƒ แƒ แƒ แƒฃแƒ‘แƒ˜แƒก แƒชแƒแƒ“แƒœแƒ˜แƒ— (แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒกแƒขแƒแƒขแƒ˜แƒ แƒฐแƒแƒ‘แƒ แƒ”แƒ–แƒ”: แƒแƒชแƒœแƒ”แƒ‘แƒแƒ‘แƒ”แƒœ แƒ—แƒฃ แƒแƒ แƒ YML แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒกแƒขแƒ”แƒ‘แƒ˜ Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒ–แƒ”?) แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“, แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 40 แƒฌแƒฃแƒ—แƒ˜ 10 แƒ แƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ™แƒ”แƒขแƒ˜ แƒ“แƒ แƒฉแƒแƒ•แƒแƒขแƒแƒ แƒ”แƒ— แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒฎแƒกแƒœแƒแƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒงแƒ แƒœแƒแƒšแƒ”แƒฅแƒ˜ แƒฐแƒ”แƒขแƒ”แƒ แƒแƒ’แƒ”แƒœแƒฃแƒ แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒ 13 แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ แƒแƒšแƒแƒ›แƒ“แƒ” แƒ“แƒ 2 แƒ›แƒ”แƒขแƒ แƒ แƒแƒšแƒแƒ›แƒ“แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ”แƒ‘แƒ“แƒ แƒฃแƒคแƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ” แƒ แƒแƒšแƒ”แƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒ 70 แƒฌแƒฃแƒ—แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ แƒแƒช แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก 2-แƒฏแƒ”แƒ  แƒ›แƒ”แƒขแƒ˜แƒ. XP (แƒ”แƒฅแƒกแƒขแƒ แƒ”แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก) แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒแƒ–แƒ” แƒกแƒแƒฃแƒ‘แƒแƒ แƒ˜ แƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒแƒ แƒแƒ•แƒ˜แƒก แƒแƒ  แƒกแƒฃแƒ แƒก 70 แƒฌแƒฃแƒ—แƒ˜แƒก แƒšแƒแƒ“แƒ˜แƒœแƒ˜. แƒ”แƒก แƒ˜แƒงแƒ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒก แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜

แƒ“แƒฆแƒ” # -601: แƒแƒœแƒกแƒ˜แƒ‘แƒฃแƒšแƒ˜ แƒ“แƒ แƒ›แƒแƒšแƒ”แƒ™แƒฃแƒšแƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ™แƒแƒœแƒชแƒ”แƒžแƒขแƒฃแƒแƒšแƒฃแƒ แƒแƒ“, แƒ”แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒกแƒแƒ›แƒ–แƒแƒ แƒ”แƒฃแƒšแƒแƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒ”แƒ— แƒ แƒแƒšแƒฃแƒ แƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ”แƒ— แƒกแƒขแƒ”แƒ™แƒ˜. แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒ“แƒ แƒ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ“แƒ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ  20-25 แƒฌแƒฃแƒ—แƒแƒ›แƒ“แƒ” 7 แƒ แƒแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜แƒก 17-แƒ›แƒ“แƒ” แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒ— แƒ“แƒ 45 แƒ แƒแƒšแƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒญแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ”แƒก แƒ’แƒแƒ•แƒแƒขแƒแƒ แƒ”แƒ— 28 แƒฌแƒฃแƒ—แƒจแƒ˜ 2 jenkins slave-แƒ–แƒ”.

แƒ“แƒฆแƒ” #167: แƒžแƒ แƒแƒ”แƒฅแƒขแƒจแƒ˜ Ansible แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ“แƒ˜แƒ“แƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ˜แƒ—, แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒก แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ. แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒ–แƒแƒ›แƒ•แƒแƒ“แƒ˜ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒฌแƒ•แƒ แƒ˜แƒšแƒแƒ“ แƒ’แƒแƒขแƒ”แƒฎแƒแƒ— แƒ“แƒ แƒกแƒžแƒ˜แƒšแƒแƒก แƒœแƒแƒฌแƒ˜แƒš-แƒœแƒแƒฌแƒ˜แƒš แƒญแƒแƒ›แƒแƒ— แƒฉแƒแƒ˜แƒก แƒ™แƒแƒ•แƒ–แƒ˜แƒ—. แƒฃแƒœแƒ“แƒ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ“แƒ”แƒก แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒ, แƒ›แƒ˜แƒ“แƒ˜แƒฎแƒแƒ  แƒ—แƒฃ แƒแƒ แƒ แƒกแƒฌแƒแƒ แƒ˜ แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ“แƒ”แƒœ แƒฎแƒแƒœแƒก แƒฃแƒœแƒ“แƒ แƒฌแƒแƒฎแƒ•แƒ˜แƒ“แƒ”.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒคแƒฃแƒ แƒชแƒ”แƒšแƒ–แƒ”, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ™แƒแƒ แƒแƒ“แƒแƒ–แƒ” แƒกแƒขแƒ˜แƒ™แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒแƒแƒ“แƒแƒ—, แƒฏแƒ˜แƒ แƒแƒจแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜, แƒแƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒฎแƒกแƒœแƒแƒ— Google Docs แƒ“แƒ แƒฉแƒแƒฌแƒ”แƒ แƒแƒ— แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒกแƒขแƒแƒขแƒฃแƒกแƒ˜. แƒ˜แƒฅ. แƒคแƒ”แƒฎแƒ”แƒ‘แƒ˜ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒงแƒ˜แƒกแƒ˜แƒ”แƒ แƒ˜, แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ“แƒ แƒ“แƒแƒ›แƒฆแƒšแƒ”แƒšแƒ˜. แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ, แƒ แƒแƒ› แƒ•แƒ˜แƒœแƒ›แƒ”แƒก แƒกแƒฃแƒ แƒ“แƒ”แƒก, แƒ แƒแƒ› แƒ’แƒแƒ“แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒ— แƒ˜แƒ“แƒ”แƒ”แƒ‘แƒ˜แƒ—, แƒ“แƒแƒ˜แƒฆแƒแƒšแƒแƒ— แƒ“แƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก.

แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ:

  • แƒญแƒแƒ›แƒ.
  • แƒซแƒ˜แƒšแƒ˜แƒก.
  • แƒ™แƒแƒ“แƒ”แƒฅแƒกแƒ˜.
  • IaC แƒขแƒ”แƒกแƒขแƒ˜.
  • แƒ’แƒแƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ—

แƒ“แƒ แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ›แƒ”แƒแƒ แƒ”แƒ‘แƒ— แƒแƒ›แƒแƒก แƒ›แƒแƒœแƒแƒ›, แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒ›แƒ˜แƒ•แƒแƒฆแƒฌแƒ”แƒ•แƒ— แƒ“แƒแƒœแƒ˜แƒจแƒœแƒฃแƒš แƒ›แƒ˜แƒ–แƒแƒœแƒก.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒงแƒแƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ แƒ˜แƒงแƒ แƒšแƒ˜แƒœแƒขแƒ˜แƒœแƒ’แƒ˜แƒ— แƒ“แƒ แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ.

แƒ“แƒฆแƒ” #181: Green Build Master

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

Linting แƒแƒ แƒ˜แƒก แƒžแƒแƒขแƒแƒ แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏแƒ˜ Green Build Master-แƒ˜แƒกแƒ™แƒ”แƒœ. แƒ”แƒก แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒแƒ แƒแƒคแƒ”แƒ แƒก แƒ“แƒแƒแƒ แƒฆแƒ•แƒ”แƒ•แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒชแƒ”แƒ›แƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒœแƒแƒ’แƒ”แƒ‘แƒแƒ‘แƒ”แƒ‘แƒ˜ แƒฏแƒ”แƒœแƒ™แƒ˜แƒœแƒกแƒจแƒ˜. แƒ˜แƒ“แƒ”แƒ แƒแƒ แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒจแƒ˜ แƒฉแƒ•แƒ”แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ:

  • แƒฌแƒ˜แƒ—แƒ”แƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒชแƒฃแƒ“แƒ˜แƒ.
  • แƒ›แƒแƒ•แƒ”แƒ“แƒ˜, แƒ แƒแƒ› แƒ แƒแƒฆแƒแƒช แƒ’แƒแƒ›แƒแƒ•แƒแƒกแƒฌแƒแƒ แƒ แƒ“แƒ แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ แƒ™แƒแƒ“แƒ˜ แƒชแƒแƒขแƒ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ แƒ•แƒ˜แƒ“แƒ แƒ” แƒจแƒ”แƒœแƒแƒ›แƒ“แƒ” แƒ˜แƒงแƒ.

แƒ“แƒฆแƒ” #193: แƒšแƒแƒฅแƒ˜แƒ“แƒแƒœ แƒ”แƒ แƒ—แƒ”แƒฃแƒš แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒแƒ›แƒ“แƒ”

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒแƒกแƒขแƒ”แƒ แƒจแƒ˜ แƒ›แƒแƒฎแƒ•แƒ”แƒ“แƒ แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒจแƒ”แƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒ˜แƒฌแƒงแƒแƒ— แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒแƒฃแƒ›แƒฏแƒแƒ‘แƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜ - แƒจแƒ”แƒชแƒ•แƒแƒšแƒ”แƒ— แƒšแƒแƒฅแƒ”แƒ‘แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒแƒช แƒ™แƒ˜ แƒฃแƒซแƒšแƒฃแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒ”แƒกแƒ›แƒแƒ“แƒ”แƒ—, แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜.

แƒ“แƒฆแƒ” #211: แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜แƒ“แƒแƒœ แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒแƒ›แƒ“แƒ”

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒแƒ‘แƒ แƒ“แƒแƒคแƒแƒ แƒฃแƒšแƒ˜แƒ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ“แƒแƒคแƒแƒ แƒฃแƒšแƒ˜แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒแƒ–แƒ”. แƒ˜แƒ›แƒแƒ—. แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜ แƒแƒ แƒช แƒ”แƒ แƒ—แƒ˜ แƒแƒ’แƒฃแƒ แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ›แƒแƒ—แƒ˜ แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒกแƒ แƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒฏแƒ”แƒœแƒ™แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒ แƒแƒ•แƒแƒšแƒ˜ แƒ”แƒขแƒแƒžแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒ“แƒœแƒ”แƒœ แƒ แƒแƒšแƒ”แƒ‘แƒก/แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒก, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒ แƒ—แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒ™แƒแƒœแƒขแƒ”แƒ˜แƒœแƒ”แƒ แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ แƒ‘แƒแƒšแƒแƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜.

Jenkins + Docker + Ansible = แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

  1. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ แƒ”แƒžแƒ แƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜.
  2. แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— lint playbook แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜.
  3. แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒšแƒ˜แƒœแƒขแƒ˜แƒก แƒ แƒแƒšแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“.
  4. แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒšแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ.
  5. แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ แƒแƒšแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜.
    1. แƒšแƒ˜แƒœแƒขแƒ˜แƒก แƒ แƒแƒšแƒ˜.
    2. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ แƒกแƒฎแƒ•แƒ แƒ แƒแƒšแƒ”แƒ‘แƒ–แƒ”.
    3. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜.
    4. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ“แƒแƒ™แƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜
    5. แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— molecule/default/playbook.yml.
    6. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ˜แƒ›แƒžแƒแƒขแƒ”แƒœแƒชแƒ˜แƒ.
  6. แƒฉแƒแƒแƒขแƒแƒ แƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜
  7. แƒคแƒ”แƒ แƒ˜

แƒ“แƒฆแƒ” #271: แƒแƒ•แƒขแƒแƒ‘แƒฃแƒกแƒ˜ แƒคแƒแƒฅแƒขแƒแƒ แƒ˜

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒ แƒ”แƒคแƒแƒฅแƒขแƒแƒ แƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ“แƒ แƒแƒ -แƒกแƒแƒ›แƒ˜ แƒ™แƒแƒชแƒ˜แƒแƒœแƒ˜ แƒ›แƒชแƒ˜แƒ แƒ” แƒฏแƒ’แƒฃแƒคแƒ˜. แƒ›แƒแƒ— แƒ’แƒแƒœแƒ˜แƒฎแƒ˜แƒšแƒ”แƒก แƒ™แƒแƒ“แƒ˜ แƒ›แƒแƒกแƒขแƒ”แƒ แƒจแƒ˜. แƒ“แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ’แƒฃแƒœแƒ“แƒ›แƒ แƒจแƒ”แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ แƒชแƒแƒ“แƒœแƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒ™แƒแƒ“แƒ˜ แƒ“แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ, แƒฎแƒ”แƒšแƒ˜ แƒจแƒ”แƒฃแƒฌแƒงแƒ แƒชแƒแƒ“แƒœแƒ˜แƒก แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒแƒก แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒแƒฅ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ˜แƒก แƒ˜แƒงแƒ, แƒ แƒแƒ› แƒ แƒ”แƒชแƒ”แƒœแƒ–แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒกแƒแƒ—แƒ˜แƒ—แƒแƒแƒ“, แƒ’แƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ—, แƒ”.แƒ˜. แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒฎแƒ•แƒแƒšแƒ— แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒแƒฎแƒแƒš แƒœแƒแƒฌแƒ˜แƒšแƒ–แƒ”.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ“แƒ แƒแƒฅ แƒ™แƒแƒ›แƒคแƒแƒ แƒขแƒฃแƒšแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก. แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ, แƒ˜แƒ›แƒ˜แƒก แƒ“แƒแƒœแƒแƒฎแƒ•แƒ, แƒ—แƒฃ แƒ แƒ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ แƒ“แƒ แƒ“แƒ˜แƒกแƒ™แƒฃแƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ˜แƒกแƒขแƒแƒ แƒ˜แƒ. แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ jenkins + bitbucket + jira.

แƒ›แƒแƒ’แƒ แƒแƒ›, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒกแƒ”แƒ—แƒ˜, แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒแƒœแƒแƒชแƒ”แƒ; แƒ แƒแƒขแƒแƒ›แƒฆแƒแƒช, แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ”แƒ“แƒ˜แƒ— แƒ›แƒ—แƒแƒ•แƒแƒ  แƒ™แƒแƒ“แƒจแƒ˜, แƒ แƒแƒ›แƒแƒช แƒ›แƒแƒ’แƒ•แƒชแƒ แƒคแƒšแƒแƒž แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜:

- 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: แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ“แƒ แƒแƒ—แƒ แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ›แƒ”แƒขแƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒ˜แƒงแƒ, แƒจแƒ”แƒœแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒœแƒ”แƒšแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ, แƒฃแƒแƒ แƒ”แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ”แƒ แƒ— แƒกแƒแƒแƒ—แƒแƒ›แƒ“แƒ”. แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ แƒ”แƒขแƒ แƒแƒ–แƒ” แƒ˜แƒงแƒ แƒคแƒ แƒแƒ–แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ "แƒ™แƒแƒ แƒ’แƒ˜แƒ, แƒ แƒแƒ› แƒแƒ แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒœแƒ”แƒšแƒ˜แƒ". แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒแƒขแƒแƒ•แƒ”แƒ— แƒ˜แƒœแƒขแƒ”แƒ’แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ›แƒแƒ•แƒแƒ แƒ’แƒ”แƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ Docker-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ”แƒก แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ. แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒ”แƒ— testinfra แƒชแƒแƒšแƒกแƒแƒฎแƒ แƒ’แƒแƒ“แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒ—, แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ›แƒ™แƒแƒชแƒ แƒแƒ“ แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒ˜แƒงแƒ แƒ–แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ แƒ˜แƒ’แƒ˜:

  1. แƒ“แƒแƒ™แƒ”แƒ แƒ–แƒ” แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ.
  2. แƒฌแƒแƒจแƒแƒšแƒ”แƒ— แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ“แƒฃแƒ‘แƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ.
  3. แƒ’แƒแƒ–แƒแƒ แƒ“แƒ”แƒ— แƒ›แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ.
  4. แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ•แƒ”แƒ—แƒ.
  5. แƒšแƒ˜แƒœแƒขแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒšแƒแƒ™แƒแƒšแƒฃแƒ แƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒจแƒ”แƒ“แƒ”แƒ’แƒแƒ“, Pipeline on jenkins แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒ”แƒ แƒ—แƒ˜แƒแƒœแƒ“แƒ

  1. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒจแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜.
  2. แƒšแƒ˜แƒœแƒขแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“.
  3. แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒขแƒ”แƒกแƒขแƒ˜แƒก แƒ แƒแƒšแƒ˜แƒก แƒ”แƒขแƒแƒžแƒ”แƒ‘แƒ˜.
  4. แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ.

แƒ’แƒแƒ™แƒ•แƒ”แƒ—แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก

แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ  แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒก

Ansible แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ  แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒก, แƒคแƒแƒ แƒ›แƒแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒžแƒ˜แƒ แƒแƒ“แƒ˜_แƒ แƒแƒšแƒ˜_แƒ•แƒแƒ แƒ˜แƒ”แƒ‘แƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒžแƒแƒœแƒแƒชแƒ”แƒ.

แƒ›แƒแƒ“แƒ˜ แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒก แƒ›แƒแƒ’แƒ˜แƒงแƒ•แƒแƒœ. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ”แƒก 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-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒกแƒแƒกแƒแƒชแƒ˜แƒšแƒ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ แƒแƒช แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒแƒจแƒ™แƒแƒ แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒแƒ–แƒ”. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ”แƒก แƒแƒ แƒ˜แƒก Ansible-แƒ˜แƒก แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ, แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก, แƒแƒ แƒ˜แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒกแƒแƒฎแƒ˜แƒก แƒจแƒ”แƒ—แƒแƒœแƒฎแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ แƒแƒšแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ› แƒ แƒแƒšแƒจแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜.

BAD: แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜.

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

GOOD: V 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

แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜ แƒ แƒแƒšแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜

BAD: แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ แƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜.

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

GOOD: แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒšแƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜ แƒ แƒแƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ—แƒแƒœ แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜แƒ—; แƒ”แƒก, แƒ˜แƒœแƒ•แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ—แƒ•แƒแƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ’แƒแƒแƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒก แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒแƒก, แƒ—แƒฃ แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ.

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

แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜

BAD: แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ”แƒ‘แƒจแƒ˜ item, แƒ—แƒฃ แƒ”แƒก แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ/แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ˜ แƒกแƒแƒ“แƒ›แƒ” แƒจแƒ”แƒ“แƒ˜แƒก, แƒแƒ›แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ˜แƒแƒก แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜ แƒฅแƒชแƒ”แƒ•แƒ

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

GOOD: แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒ”แƒ— แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒ›แƒแƒ แƒงแƒฃแƒŸแƒจแƒ˜ แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— loop_var.

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

แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ—แƒแƒœแƒฎแƒ›แƒ“แƒ˜แƒ— แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒ–แƒ”; แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒแƒ  แƒ˜แƒงแƒ แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒฃแƒšแƒ˜ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ—.

GOOD: แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜.

- 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

แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— แƒฐแƒ”แƒจแƒ˜แƒก แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒœแƒ”แƒ‘แƒก, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ‘แƒ แƒขแƒงแƒ”แƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ

แƒ—แƒฃ แƒ แƒแƒšแƒ˜ แƒ”แƒšแƒ˜แƒก แƒฐแƒ”แƒจแƒ˜แƒก/แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒœแƒก แƒ›แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฃ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒจแƒ”แƒ•แƒชแƒ•แƒแƒšแƒแƒ— แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒจแƒ•แƒ˜แƒšแƒแƒ‘แƒ˜แƒšแƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜, แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒฐแƒ”แƒจแƒ˜แƒก/แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒœแƒ˜แƒก แƒ’แƒแƒ“แƒแƒคแƒแƒ แƒ•แƒ, แƒ แƒแƒช แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒก.

BAD: แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒฐแƒ”แƒจแƒ˜/แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒœแƒ˜.

---
user:
  name: admin
  group: admin

GOOD: แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ‘แƒ แƒขแƒงแƒ”แƒšแƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ.

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

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒฃแƒ˜แƒ›แƒ”แƒ“แƒ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒแƒšแƒ”แƒ‘แƒ˜

แƒ แƒแƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜ แƒฃแƒซแƒšแƒฃแƒ แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒ˜แƒคแƒขแƒก แƒ“แƒ แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒ’แƒแƒขแƒ”แƒฎแƒ•แƒ˜แƒก แƒจแƒ˜แƒจแƒก. แƒ›แƒแƒ’แƒ แƒแƒ› แƒ—แƒฃ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒšแƒ”แƒ™แƒฃแƒšแƒแƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒ”แƒก แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒฅแƒชแƒ”แƒ•แƒแƒ.

แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก

Shell แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ˜แƒ›แƒžแƒ”แƒ แƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒก แƒžแƒแƒ แƒแƒ“แƒ˜แƒ’แƒ›แƒแƒก, แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒ“แƒ”แƒ™แƒšแƒแƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜แƒกแƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก 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

แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒแƒ›แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒ”แƒšแƒ˜

แƒ›แƒแƒšแƒ”แƒ™แƒฃแƒšแƒแƒจแƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— ansible แƒ˜แƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒ แƒแƒ› แƒ˜แƒœแƒกแƒขแƒแƒœแƒชแƒ˜แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ”แƒก แƒ˜แƒงแƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒ”-3 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช testinfra/inspec, แƒ›แƒแƒ’แƒ แƒแƒ› แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—, แƒ แƒแƒ› แƒคแƒแƒ˜แƒšแƒ˜แƒก แƒจแƒ˜แƒœแƒแƒแƒ แƒกแƒ˜ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒ›แƒแƒšแƒแƒ“แƒ˜แƒœแƒ”แƒ‘แƒก:

---
- 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

แƒฉแƒแƒ“แƒ”แƒ— แƒ แƒ—แƒฃแƒšแƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ”แƒ‘แƒจแƒ˜

Ansible แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒ“แƒ”แƒ™แƒšแƒแƒ แƒแƒชแƒ˜แƒฃแƒš แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒแƒก, แƒแƒกแƒ” แƒ แƒแƒ›, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒ’แƒแƒœแƒจแƒขแƒแƒ”แƒ‘แƒแƒก, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒขแƒ แƒแƒœแƒกแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒแƒก, แƒญแƒฃแƒ แƒ•แƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒก, แƒ™แƒแƒ“แƒ˜ แƒ แƒ—แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“. แƒแƒ›แƒ˜แƒก แƒกแƒแƒ‘แƒ แƒซแƒแƒšแƒ•แƒ”แƒšแƒแƒ“ แƒ“แƒ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“ แƒ’แƒแƒกแƒแƒ’แƒ”แƒ‘แƒแƒ“, แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒแƒ› แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒกแƒ—แƒแƒœ แƒ‘แƒ แƒซแƒแƒšแƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒ—.

แƒจแƒ”แƒแƒฏแƒแƒ›แƒ”แƒ— แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜

  1. แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— แƒ’แƒšแƒแƒ‘แƒแƒšแƒฃแƒ  แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒก.
  2. แƒžแƒ แƒ”แƒคแƒ˜แƒฅแƒกแƒ˜ แƒ แƒแƒšแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜.
  3. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜.
  4. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜.
  5. แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— แƒฐแƒ”แƒจแƒ˜แƒก แƒšแƒ”แƒฅแƒกแƒ˜แƒ™แƒแƒœแƒ”แƒ‘แƒก, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ‘แƒ แƒขแƒงแƒ”แƒšแƒ˜ แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ.
  6. แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒฃแƒ˜แƒ›แƒ”แƒ“แƒ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ แƒแƒšแƒ”แƒ‘แƒ˜.
  7. แƒ›แƒแƒ”แƒ แƒ˜แƒ“แƒ”แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก.
  8. แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ แƒแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒšแƒ”แƒ™แƒฃแƒšแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.
  9. แƒฉแƒแƒ“แƒ”แƒ— แƒ แƒ—แƒฃแƒšแƒ˜ แƒšแƒแƒ’แƒ˜แƒ™แƒ แƒ›แƒแƒ“แƒฃแƒšแƒ”แƒ‘แƒกแƒ แƒ“แƒ แƒ“แƒแƒœแƒแƒ›แƒแƒขแƒ”แƒ‘แƒจแƒ˜.

แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ

แƒ แƒแƒ’แƒแƒ  แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— Ansible-แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ, แƒ’แƒแƒ“แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜ แƒ”แƒ แƒ— แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒแƒ’แƒ˜แƒŸแƒ“แƒ”แƒ—

แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒฌแƒแƒฎแƒ•แƒ˜แƒ“แƒ”แƒ— แƒ“แƒ แƒ’แƒแƒœแƒแƒแƒฎแƒšแƒแƒ— แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ แƒžแƒ แƒแƒ”แƒฅแƒขแƒ–แƒ”, แƒ›แƒแƒจแƒ˜แƒœแƒแƒช แƒ™แƒ˜, แƒ—แƒฃ แƒ’แƒแƒฅแƒ•แƒ— IaC. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒก แƒ›แƒแƒ—แƒ›แƒ˜แƒœแƒ”แƒ‘แƒแƒก, แƒ“แƒ แƒแƒกแƒ แƒ“แƒ แƒชแƒแƒ“แƒœแƒแƒก.

UPD1 2020.05.01 20:30 โ€” แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฌแƒ˜แƒ’แƒœแƒ”แƒ‘แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“แƒ˜ แƒžแƒ แƒแƒคแƒ˜แƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— callback_whitelist = profile_tasks แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ’แƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ–แƒฃแƒกแƒขแƒแƒ“ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒกแƒแƒ’แƒ แƒซแƒœแƒแƒ‘แƒ˜ แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒšแƒแƒกแƒ˜แƒ™แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒชแƒแƒ“แƒแƒ— แƒ›แƒ˜แƒขแƒแƒ’แƒ”แƒœแƒ˜
UPD2 2020.05.03 16:34 - แƒ˜แƒœแƒ’แƒšแƒ˜แƒกแƒฃแƒ แƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ