Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to stable upgrade the Ansible

How to stable upgrade the Ansible

# 怎麼無痛升級 Ansible
 
Ansible 是套很棒的組態設定工具,但在它成長迅速的同時,也代表著使用者得一同成長。這次凍仁將分享一路從 Ansible 2.0 升級到 2.5 的小小使用心得。
 
* 活動網址:https://devops.kktix.cc/events/meetup13-0428
 
#Ansible #TravisCI #DevOps

Chu-Siang Lai

April 28, 2018
Tweet

More Decks by Chu-Siang Lai

Other Decks in Technology

Transcript

  1. __________________
    < 怎麼無痛升級 Ansible >
    ------------------
    \
    \ \_\_ _/_/
    \ \__/
    (oo)\_______
    (__)\ )\/\
    ||----w |
    || ||
    [ [email protected] ~ ]
    $ cat .profile
    # Author: 凍仁翔 / [email protected]
    # Blog: https://note.drx.tw
    # Modified: 2018-04-27 14:00

    View Slide

  2. 關於我
    • 凍仁翔 (@chusiang_lai)。
    • 「凍仁的筆記」部落落客。
    • DevOps Taiwan 志⼯工。
    • 6 年年 IT 維運經驗。
    2

    View Slide

  3. 使⽤用者故事
    ⾝身為 Ansible Playbooks 的開發者,

    我希望 Playbooks 可以⽀支援最新的
    Ansible,因為我想在開發、測試和

    正式環境上,無痛使⽤用最新版的

    Ansible 2.5.0。
    !3

    View Slide

  4. 使⽤用者故事
    ⾝身為 Ansible Playbooks 的開發者,

    我希望 Playbooks 可以⽀支援最新的
    Ansible,因為我想在開發、測試和

    正式環境上,無痛使⽤用最新版的

    Ansible 2.5.0。
    !4

    View Slide

  5. Syntax Check with latest Ansible
    1st
    Change Ansible
    Docker image on Pipeline
    2nd
    Upgrade
    Ansible 2.5
    on each Env.
    3rd
    Upgrade to Ansible 2.5
    !5
    P
    R
    D
    D
    E
    V

    View Slide

  6. Syntax Check with latest Ansible
    1st
    Change Ansible
    Docker image on Pipeline
    2nd
    Upgrade
    Ansible 2.5
    on each Env.
    3rd
    Upgrade to Ansible 2.5
    !6
    D
    E
    V

    View Slide

  7. https://galaxy.ansible.com/chusiang/php7/

    View Slide

  8. https://hub.docker.com/r/chusiang/ansible/
    8

    View Slide

  9. https://travis-ci.org/chusiang/php7.ansible.role
    9
    Ansible 2.4.3
    Ansible 2.5.0

    View Slide

  10. $ vim .travis.yml
    1 language: bash
    2 sudo: required
    3 services:
    4 - docker
    5
    6 jobs:
    7 include:
    8 - stage: Syntax check
    9 script:
    10 - echo "==> Syntax Check on Ansible 2.4 ..."
    11
    12 - docker run -it chusiang/ansible:2.4
    13 ansible --version
    14
    15 - docker run -it -v $PWD:/srv chusiang/ansible:2.4
    16 /bin/sh -c "cd /srv && ansible-playbook —syntax-check

    setup.yml"
    17
    10
    Link Check Build
    Syntax Check

    View Slide

  11. 11

    View Slide

  12. 12
    Version

    View Slide

  13. 13
    Syntax Check

    View Slide

  14. 18
    19 - stage: Syntax check
    20 script:
    21 - echo "==> Syntax Check on Ansible 2.5 ..."
    22
    23 - docker run -it chusiang/ansible:2.5
    24 ansible --version
    25
    26 - docker run -it -v $PWD:/srv chusiang/ansible:2.5
    27 /bin/sh -c "cd /srv && ansible-playbook —syntax-check

    setup.yml"
    28
    14
    Link Check Build
    Syntax Check

    View Slide

  15. 18
    19 - stage: Syntax check
    20 script:
    21 - echo "==> Syntax Check on Ansible 2.5 ..."
    22
    23 - docker run -it chusiang/ansible:2.5
    24 ansible --version
    25
    26 - docker run -it -v $PWD:/srv chusiang/ansible:2.5
    27 /bin/sh -c "cd /srv && ansible-playbook —syntax-check

    setup.yml"
    28
    15
    Link Check Build
    Syntax Check

    View Slide

  16. 16
    Syntax Check
    Version

    View Slide

  17. Syntax Check with latest Ansible
    1st
    Change Ansible
    Docker image on Pipeline
    2nd
    Upgrade
    Ansible 2.5
    on each Env.
    3rd
    Upgrade to Ansible 2.5
    !17
    D
    E
    V

    View Slide

  18. $ git diff
    - - docker run -it chusiang/ansible:2.4
    + - docker run -it chusiang/ansible:2.5
    18

    View Slide

  19. Syntax Check with latest Ansible
    1st
    Change Ansible
    Docker image on Pipeline
    2nd
    Upgrade
    Ansible 2.5
    on each Env.
    3rd
    Upgrade to Ansible 2.5
    !19
    P
    R
    D

    View Slide

  20. $ ansible ansible-server \
    -i stage \
    -i production \
    -m apt
    -a “name=ansible state=latest update_cache: yes”
    --become
    20

    View Slide

  21. Syntax Check with latest Ansible
    1st
    Change Ansible
    Docker image on Pipeline
    2nd
    Upgrade
    Ansible 2.5
    on each Env.
    3rd
    Upgrade to Ansible 2.5
    !21
    P
    R
    D
    D
    E
    V

    View Slide

  22. 22
    今天提的 DevOps 是什什麼?

    View Slide

  23. 嚴禁拍打餵食
    Q & A
    !23

    View Slide

  24. DevOps Taiwan
    https://t.me/devopstw
    https://fb.me/groups/DevOpsTaiwan/
    https://devopstw.club/
    !24

    View Slide

  25. Ansible Taiwan
    https://t.me/ansible_tw
    https://github.com/ansible-tw
    http://ansible.tw
    !25

    View Slide

  26. http://萍⽔水相逢.tw
    !26

    View Slide

  27. _______
    < Pause >
    -------
    \
    \ \_\_ _/_/
    \ \__/
    (oo)\_______
    (__)\ )\/\
    ||----w |
    || ||

    View Slide

  28. View Slide

  29. https://github.com/willthames/ansible-lint

    View Slide

  30. Link
    Check
    Build
    Syntax
    Check

    View Slide

  31. _____
    < END >
    -----
    \
    \ \_\_ _/_/
    \ \__/
    (oo)\_______
    (__)\ )\/\
    ||----w |
    || ||

    View Slide